/*
    MANGO Multimedia Development Platform
    Copyright (C) 2012-2020 Twilight Finland 3D Oy Ltd. All rights reserved.
*/
#ifdef GLEXT_PROC

// ---------------------------------------------------------------------------------
// GL_VERSION_1_2
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLDRAWRANGEELEMENTSPROC, glDrawRangeElements);
GLEXT_PROC(PFNGLTEXIMAGE3DPROC, glTexImage3D);
GLEXT_PROC(PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D);
GLEXT_PROC(PFNGLCOPYTEXSUBIMAGE3DPROC, glCopyTexSubImage3D);

// ---------------------------------------------------------------------------------
// GL_VERSION_1_3
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLACTIVETEXTUREPROC, glActiveTexture);
GLEXT_PROC(PFNGLSAMPLECOVERAGEPROC, glSampleCoverage);
GLEXT_PROC(PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXIMAGE1DPROC, glCompressedTexImage1D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC, glCompressedTexSubImage1D);
GLEXT_PROC(PFNGLGETCOMPRESSEDTEXIMAGEPROC, glGetCompressedTexImage);
GLEXT_PROC(PFNGLCLIENTACTIVETEXTUREPROC, glClientActiveTexture);
GLEXT_PROC(PFNGLMULTITEXCOORD1DPROC, glMultiTexCoord1d);
GLEXT_PROC(PFNGLMULTITEXCOORD1DVPROC, glMultiTexCoord1dv);
GLEXT_PROC(PFNGLMULTITEXCOORD1FPROC, glMultiTexCoord1f);
GLEXT_PROC(PFNGLMULTITEXCOORD1FVPROC, glMultiTexCoord1fv);
GLEXT_PROC(PFNGLMULTITEXCOORD1IPROC, glMultiTexCoord1i);
GLEXT_PROC(PFNGLMULTITEXCOORD1IVPROC, glMultiTexCoord1iv);
GLEXT_PROC(PFNGLMULTITEXCOORD1SPROC, glMultiTexCoord1s);
GLEXT_PROC(PFNGLMULTITEXCOORD1SVPROC, glMultiTexCoord1sv);
GLEXT_PROC(PFNGLMULTITEXCOORD2DPROC, glMultiTexCoord2d);
GLEXT_PROC(PFNGLMULTITEXCOORD2DVPROC, glMultiTexCoord2dv);
GLEXT_PROC(PFNGLMULTITEXCOORD2FPROC, glMultiTexCoord2f);
GLEXT_PROC(PFNGLMULTITEXCOORD2FVPROC, glMultiTexCoord2fv);
GLEXT_PROC(PFNGLMULTITEXCOORD2IPROC, glMultiTexCoord2i);
GLEXT_PROC(PFNGLMULTITEXCOORD2IVPROC, glMultiTexCoord2iv);
GLEXT_PROC(PFNGLMULTITEXCOORD2SPROC, glMultiTexCoord2s);
GLEXT_PROC(PFNGLMULTITEXCOORD2SVPROC, glMultiTexCoord2sv);
GLEXT_PROC(PFNGLMULTITEXCOORD3DPROC, glMultiTexCoord3d);
GLEXT_PROC(PFNGLMULTITEXCOORD3DVPROC, glMultiTexCoord3dv);
GLEXT_PROC(PFNGLMULTITEXCOORD3FPROC, glMultiTexCoord3f);
GLEXT_PROC(PFNGLMULTITEXCOORD3FVPROC, glMultiTexCoord3fv);
GLEXT_PROC(PFNGLMULTITEXCOORD3IPROC, glMultiTexCoord3i);
GLEXT_PROC(PFNGLMULTITEXCOORD3IVPROC, glMultiTexCoord3iv);
GLEXT_PROC(PFNGLMULTITEXCOORD3SPROC, glMultiTexCoord3s);
GLEXT_PROC(PFNGLMULTITEXCOORD3SVPROC, glMultiTexCoord3sv);
GLEXT_PROC(PFNGLMULTITEXCOORD4DPROC, glMultiTexCoord4d);
GLEXT_PROC(PFNGLMULTITEXCOORD4DVPROC, glMultiTexCoord4dv);
GLEXT_PROC(PFNGLMULTITEXCOORD4FPROC, glMultiTexCoord4f);
GLEXT_PROC(PFNGLMULTITEXCOORD4FVPROC, glMultiTexCoord4fv);
GLEXT_PROC(PFNGLMULTITEXCOORD4IPROC, glMultiTexCoord4i);
GLEXT_PROC(PFNGLMULTITEXCOORD4IVPROC, glMultiTexCoord4iv);
GLEXT_PROC(PFNGLMULTITEXCOORD4SPROC, glMultiTexCoord4s);
GLEXT_PROC(PFNGLMULTITEXCOORD4SVPROC, glMultiTexCoord4sv);
GLEXT_PROC(PFNGLLOADTRANSPOSEMATRIXFPROC, glLoadTransposeMatrixf);
GLEXT_PROC(PFNGLLOADTRANSPOSEMATRIXDPROC, glLoadTransposeMatrixd);
GLEXT_PROC(PFNGLMULTTRANSPOSEMATRIXFPROC, glMultTransposeMatrixf);
GLEXT_PROC(PFNGLMULTTRANSPOSEMATRIXDPROC, glMultTransposeMatrixd);

// ---------------------------------------------------------------------------------
// GL_VERSION_1_4
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLBLENDFUNCSEPARATEPROC, glBlendFuncSeparate);
GLEXT_PROC(PFNGLMULTIDRAWARRAYSPROC, glMultiDrawArrays);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSPROC, glMultiDrawElements);
GLEXT_PROC(PFNGLPOINTPARAMETERFPROC, glPointParameterf);
GLEXT_PROC(PFNGLPOINTPARAMETERFVPROC, glPointParameterfv);
GLEXT_PROC(PFNGLPOINTPARAMETERIPROC, glPointParameteri);
GLEXT_PROC(PFNGLPOINTPARAMETERIVPROC, glPointParameteriv);
GLEXT_PROC(PFNGLFOGCOORDFPROC, glFogCoordf);
GLEXT_PROC(PFNGLFOGCOORDFVPROC, glFogCoordfv);
GLEXT_PROC(PFNGLFOGCOORDDPROC, glFogCoordd);
GLEXT_PROC(PFNGLFOGCOORDDVPROC, glFogCoorddv);
GLEXT_PROC(PFNGLFOGCOORDPOINTERPROC, glFogCoordPointer);
GLEXT_PROC(PFNGLSECONDARYCOLOR3BPROC, glSecondaryColor3b);
GLEXT_PROC(PFNGLSECONDARYCOLOR3BVPROC, glSecondaryColor3bv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3DPROC, glSecondaryColor3d);
GLEXT_PROC(PFNGLSECONDARYCOLOR3DVPROC, glSecondaryColor3dv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3FPROC, glSecondaryColor3f);
GLEXT_PROC(PFNGLSECONDARYCOLOR3FVPROC, glSecondaryColor3fv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3IPROC, glSecondaryColor3i);
GLEXT_PROC(PFNGLSECONDARYCOLOR3IVPROC, glSecondaryColor3iv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3SPROC, glSecondaryColor3s);
GLEXT_PROC(PFNGLSECONDARYCOLOR3SVPROC, glSecondaryColor3sv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UBPROC, glSecondaryColor3ub);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UBVPROC, glSecondaryColor3ubv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UIPROC, glSecondaryColor3ui);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UIVPROC, glSecondaryColor3uiv);
GLEXT_PROC(PFNGLSECONDARYCOLOR3USPROC, glSecondaryColor3us);
GLEXT_PROC(PFNGLSECONDARYCOLOR3USVPROC, glSecondaryColor3usv);
GLEXT_PROC(PFNGLSECONDARYCOLORPOINTERPROC, glSecondaryColorPointer);
GLEXT_PROC(PFNGLWINDOWPOS2DPROC, glWindowPos2d);
GLEXT_PROC(PFNGLWINDOWPOS2DVPROC, glWindowPos2dv);
GLEXT_PROC(PFNGLWINDOWPOS2FPROC, glWindowPos2f);
GLEXT_PROC(PFNGLWINDOWPOS2FVPROC, glWindowPos2fv);
GLEXT_PROC(PFNGLWINDOWPOS2IPROC, glWindowPos2i);
GLEXT_PROC(PFNGLWINDOWPOS2IVPROC, glWindowPos2iv);
GLEXT_PROC(PFNGLWINDOWPOS2SPROC, glWindowPos2s);
GLEXT_PROC(PFNGLWINDOWPOS2SVPROC, glWindowPos2sv);
GLEXT_PROC(PFNGLWINDOWPOS3DPROC, glWindowPos3d);
GLEXT_PROC(PFNGLWINDOWPOS3DVPROC, glWindowPos3dv);
GLEXT_PROC(PFNGLWINDOWPOS3FPROC, glWindowPos3f);
GLEXT_PROC(PFNGLWINDOWPOS3FVPROC, glWindowPos3fv);
GLEXT_PROC(PFNGLWINDOWPOS3IPROC, glWindowPos3i);
GLEXT_PROC(PFNGLWINDOWPOS3IVPROC, glWindowPos3iv);
GLEXT_PROC(PFNGLWINDOWPOS3SPROC, glWindowPos3s);
GLEXT_PROC(PFNGLWINDOWPOS3SVPROC, glWindowPos3sv);
GLEXT_PROC(PFNGLBLENDCOLORPROC, glBlendColor);
GLEXT_PROC(PFNGLBLENDEQUATIONPROC, glBlendEquation);

// ---------------------------------------------------------------------------------
// GL_VERSION_1_5
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLGENQUERIESPROC, glGenQueries);
GLEXT_PROC(PFNGLDELETEQUERIESPROC, glDeleteQueries);
GLEXT_PROC(PFNGLISQUERYPROC, glIsQuery);
GLEXT_PROC(PFNGLBEGINQUERYPROC, glBeginQuery);
GLEXT_PROC(PFNGLENDQUERYPROC, glEndQuery);
GLEXT_PROC(PFNGLGETQUERYIVPROC, glGetQueryiv);
GLEXT_PROC(PFNGLGETQUERYOBJECTIVPROC, glGetQueryObjectiv);
GLEXT_PROC(PFNGLGETQUERYOBJECTUIVPROC, glGetQueryObjectuiv);
GLEXT_PROC(PFNGLBINDBUFFERPROC, glBindBuffer);
GLEXT_PROC(PFNGLDELETEBUFFERSPROC, glDeleteBuffers);
GLEXT_PROC(PFNGLGENBUFFERSPROC, glGenBuffers);
GLEXT_PROC(PFNGLISBUFFERPROC, glIsBuffer);
GLEXT_PROC(PFNGLBUFFERDATAPROC, glBufferData);
GLEXT_PROC(PFNGLBUFFERSUBDATAPROC, glBufferSubData);
GLEXT_PROC(PFNGLGETBUFFERSUBDATAPROC, glGetBufferSubData);
GLEXT_PROC(PFNGLMAPBUFFERPROC, glMapBuffer);
GLEXT_PROC(PFNGLUNMAPBUFFERPROC, glUnmapBuffer);
GLEXT_PROC(PFNGLGETBUFFERPARAMETERIVPROC, glGetBufferParameteriv);
GLEXT_PROC(PFNGLGETBUFFERPOINTERVPROC, glGetBufferPointerv);

// ---------------------------------------------------------------------------------
// GL_VERSION_2_0
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLBLENDEQUATIONSEPARATEPROC, glBlendEquationSeparate);
GLEXT_PROC(PFNGLDRAWBUFFERSPROC, glDrawBuffers);
GLEXT_PROC(PFNGLSTENCILOPSEPARATEPROC, glStencilOpSeparate);
GLEXT_PROC(PFNGLSTENCILFUNCSEPARATEPROC, glStencilFuncSeparate);
GLEXT_PROC(PFNGLSTENCILMASKSEPARATEPROC, glStencilMaskSeparate);
GLEXT_PROC(PFNGLATTACHSHADERPROC, glAttachShader);
GLEXT_PROC(PFNGLBINDATTRIBLOCATIONPROC, glBindAttribLocation);
GLEXT_PROC(PFNGLCOMPILESHADERPROC, glCompileShader);
GLEXT_PROC(PFNGLCREATEPROGRAMPROC, glCreateProgram);
GLEXT_PROC(PFNGLCREATESHADERPROC, glCreateShader);
GLEXT_PROC(PFNGLDELETEPROGRAMPROC, glDeleteProgram);
GLEXT_PROC(PFNGLDELETESHADERPROC, glDeleteShader);
GLEXT_PROC(PFNGLDETACHSHADERPROC, glDetachShader);
GLEXT_PROC(PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray);
GLEXT_PROC(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray);
GLEXT_PROC(PFNGLGETACTIVEATTRIBPROC, glGetActiveAttrib);
GLEXT_PROC(PFNGLGETACTIVEUNIFORMPROC, glGetActiveUniform);
GLEXT_PROC(PFNGLGETATTACHEDSHADERSPROC, glGetAttachedShaders);
GLEXT_PROC(PFNGLGETATTRIBLOCATIONPROC, glGetAttribLocation);
GLEXT_PROC(PFNGLGETPROGRAMIVPROC, glGetProgramiv);
GLEXT_PROC(PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog);
GLEXT_PROC(PFNGLGETSHADERIVPROC, glGetShaderiv);
GLEXT_PROC(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog);
GLEXT_PROC(PFNGLGETSHADERSOURCEPROC, glGetShaderSource);
GLEXT_PROC(PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation);
GLEXT_PROC(PFNGLGETUNIFORMFVPROC, glGetUniformfv);
GLEXT_PROC(PFNGLGETUNIFORMIVPROC, glGetUniformiv);
GLEXT_PROC(PFNGLGETVERTEXATTRIBDVPROC, glGetVertexAttribdv);
GLEXT_PROC(PFNGLGETVERTEXATTRIBFVPROC, glGetVertexAttribfv);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIVPROC, glGetVertexAttribiv);
GLEXT_PROC(PFNGLGETVERTEXATTRIBPOINTERVPROC, glGetVertexAttribPointerv);
GLEXT_PROC(PFNGLISPROGRAMPROC, glIsProgram);
GLEXT_PROC(PFNGLISSHADERPROC, glIsShader);
GLEXT_PROC(PFNGLLINKPROGRAMPROC, glLinkProgram);
GLEXT_PROC(PFNGLSHADERSOURCEPROC, glShaderSource);
GLEXT_PROC(PFNGLUSEPROGRAMPROC, glUseProgram);
GLEXT_PROC(PFNGLUNIFORM1FPROC, glUniform1f);
GLEXT_PROC(PFNGLUNIFORM2FPROC, glUniform2f);
GLEXT_PROC(PFNGLUNIFORM3FPROC, glUniform3f);
GLEXT_PROC(PFNGLUNIFORM4FPROC, glUniform4f);
GLEXT_PROC(PFNGLUNIFORM1IPROC, glUniform1i);
GLEXT_PROC(PFNGLUNIFORM2IPROC, glUniform2i);
GLEXT_PROC(PFNGLUNIFORM3IPROC, glUniform3i);
GLEXT_PROC(PFNGLUNIFORM4IPROC, glUniform4i);
GLEXT_PROC(PFNGLUNIFORM1FVPROC, glUniform1fv);
GLEXT_PROC(PFNGLUNIFORM2FVPROC, glUniform2fv);
GLEXT_PROC(PFNGLUNIFORM3FVPROC, glUniform3fv);
GLEXT_PROC(PFNGLUNIFORM4FVPROC, glUniform4fv);
GLEXT_PROC(PFNGLUNIFORM1IVPROC, glUniform1iv);
GLEXT_PROC(PFNGLUNIFORM2IVPROC, glUniform2iv);
GLEXT_PROC(PFNGLUNIFORM3IVPROC, glUniform3iv);
GLEXT_PROC(PFNGLUNIFORM4IVPROC, glUniform4iv);
GLEXT_PROC(PFNGLUNIFORMMATRIX2FVPROC, glUniformMatrix2fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX3FVPROC, glUniformMatrix3fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv);
GLEXT_PROC(PFNGLVALIDATEPROGRAMPROC, glValidateProgram);
GLEXT_PROC(PFNGLVERTEXATTRIB1DPROC, glVertexAttrib1d);
GLEXT_PROC(PFNGLVERTEXATTRIB1DVPROC, glVertexAttrib1dv);
GLEXT_PROC(PFNGLVERTEXATTRIB1FPROC, glVertexAttrib1f);
GLEXT_PROC(PFNGLVERTEXATTRIB1FVPROC, glVertexAttrib1fv);
GLEXT_PROC(PFNGLVERTEXATTRIB1SPROC, glVertexAttrib1s);
GLEXT_PROC(PFNGLVERTEXATTRIB1SVPROC, glVertexAttrib1sv);
GLEXT_PROC(PFNGLVERTEXATTRIB2DPROC, glVertexAttrib2d);
GLEXT_PROC(PFNGLVERTEXATTRIB2DVPROC, glVertexAttrib2dv);
GLEXT_PROC(PFNGLVERTEXATTRIB2FPROC, glVertexAttrib2f);
GLEXT_PROC(PFNGLVERTEXATTRIB2FVPROC, glVertexAttrib2fv);
GLEXT_PROC(PFNGLVERTEXATTRIB2SPROC, glVertexAttrib2s);
GLEXT_PROC(PFNGLVERTEXATTRIB2SVPROC, glVertexAttrib2sv);
GLEXT_PROC(PFNGLVERTEXATTRIB3DPROC, glVertexAttrib3d);
GLEXT_PROC(PFNGLVERTEXATTRIB3DVPROC, glVertexAttrib3dv);
GLEXT_PROC(PFNGLVERTEXATTRIB3FPROC, glVertexAttrib3f);
GLEXT_PROC(PFNGLVERTEXATTRIB3FVPROC, glVertexAttrib3fv);
GLEXT_PROC(PFNGLVERTEXATTRIB3SPROC, glVertexAttrib3s);
GLEXT_PROC(PFNGLVERTEXATTRIB3SVPROC, glVertexAttrib3sv);
GLEXT_PROC(PFNGLVERTEXATTRIB4NBVPROC, glVertexAttrib4Nbv);
GLEXT_PROC(PFNGLVERTEXATTRIB4NIVPROC, glVertexAttrib4Niv);
GLEXT_PROC(PFNGLVERTEXATTRIB4NSVPROC, glVertexAttrib4Nsv);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUBPROC, glVertexAttrib4Nub);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUBVPROC, glVertexAttrib4Nubv);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUIVPROC, glVertexAttrib4Nuiv);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUSVPROC, glVertexAttrib4Nusv);
GLEXT_PROC(PFNGLVERTEXATTRIB4BVPROC, glVertexAttrib4bv);
GLEXT_PROC(PFNGLVERTEXATTRIB4DPROC, glVertexAttrib4d);
GLEXT_PROC(PFNGLVERTEXATTRIB4DVPROC, glVertexAttrib4dv);
GLEXT_PROC(PFNGLVERTEXATTRIB4FPROC, glVertexAttrib4f);
GLEXT_PROC(PFNGLVERTEXATTRIB4FVPROC, glVertexAttrib4fv);
GLEXT_PROC(PFNGLVERTEXATTRIB4IVPROC, glVertexAttrib4iv);
GLEXT_PROC(PFNGLVERTEXATTRIB4SPROC, glVertexAttrib4s);
GLEXT_PROC(PFNGLVERTEXATTRIB4SVPROC, glVertexAttrib4sv);
GLEXT_PROC(PFNGLVERTEXATTRIB4UBVPROC, glVertexAttrib4ubv);
GLEXT_PROC(PFNGLVERTEXATTRIB4UIVPROC, glVertexAttrib4uiv);
GLEXT_PROC(PFNGLVERTEXATTRIB4USVPROC, glVertexAttrib4usv);
GLEXT_PROC(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);

// ---------------------------------------------------------------------------------
// OpenGL GL_VERSION_2_1
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLUNIFORMMATRIX2X3FVPROC, glUniformMatrix2x3fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX3X2FVPROC, glUniformMatrix3x2fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX2X4FVPROC, glUniformMatrix2x4fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX4X2FVPROC, glUniformMatrix4x2fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX3X4FVPROC, glUniformMatrix3x4fv);
GLEXT_PROC(PFNGLUNIFORMMATRIX4X3FVPROC, glUniformMatrix4x3fv);

// ---------------------------------------------------------------------------------
// GL_VERSION_3_0
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLCOLORMASKIPROC, glColorMaski);
GLEXT_PROC(PFNGLGETBOOLEANI_VPROC, glGetBooleani_v);
GLEXT_PROC(PFNGLGETINTEGERI_VPROC, glGetIntegeri_v);
GLEXT_PROC(PFNGLENABLEIPROC, glEnablei);
GLEXT_PROC(PFNGLDISABLEIPROC, glDisablei);
GLEXT_PROC(PFNGLISENABLEDIPROC, glIsEnabledi);
GLEXT_PROC(PFNGLBEGINTRANSFORMFEEDBACKPROC, glBeginTransformFeedback);
GLEXT_PROC(PFNGLENDTRANSFORMFEEDBACKPROC, glEndTransformFeedback);
GLEXT_PROC(PFNGLBINDBUFFERRANGEPROC, glBindBufferRange);
GLEXT_PROC(PFNGLBINDBUFFERBASEPROC, glBindBufferBase);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKVARYINGSPROC, glTransformFeedbackVaryings);
GLEXT_PROC(PFNGLGETTRANSFORMFEEDBACKVARYINGPROC, glGetTransformFeedbackVarying);
GLEXT_PROC(PFNGLCLAMPCOLORPROC, glClampColor);
GLEXT_PROC(PFNGLBEGINCONDITIONALRENDERPROC, glBeginConditionalRender);
GLEXT_PROC(PFNGLENDCONDITIONALRENDERPROC, glEndConditionalRender);
GLEXT_PROC(PFNGLVERTEXATTRIBIPOINTERPROC, glVertexAttribIPointer);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIIVPROC, glGetVertexAttribIiv);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIUIVPROC, glGetVertexAttribIuiv);
GLEXT_PROC(PFNGLVERTEXATTRIBI1IPROC, glVertexAttribI1i);
GLEXT_PROC(PFNGLVERTEXATTRIBI2IPROC, glVertexAttribI2i);
GLEXT_PROC(PFNGLVERTEXATTRIBI3IPROC, glVertexAttribI3i);
GLEXT_PROC(PFNGLVERTEXATTRIBI4IPROC, glVertexAttribI4i);
GLEXT_PROC(PFNGLVERTEXATTRIBI1UIPROC, glVertexAttribI1ui);
GLEXT_PROC(PFNGLVERTEXATTRIBI2UIPROC, glVertexAttribI2ui);
GLEXT_PROC(PFNGLVERTEXATTRIBI3UIPROC, glVertexAttribI3ui);
GLEXT_PROC(PFNGLVERTEXATTRIBI4UIPROC, glVertexAttribI4ui);
GLEXT_PROC(PFNGLVERTEXATTRIBI1IVPROC, glVertexAttribI1iv);
GLEXT_PROC(PFNGLVERTEXATTRIBI2IVPROC, glVertexAttribI2iv);
GLEXT_PROC(PFNGLVERTEXATTRIBI3IVPROC, glVertexAttribI3iv);
GLEXT_PROC(PFNGLVERTEXATTRIBI4IVPROC, glVertexAttribI4iv);
GLEXT_PROC(PFNGLVERTEXATTRIBI1UIVPROC, glVertexAttribI1uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBI2UIVPROC, glVertexAttribI2uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBI3UIVPROC, glVertexAttribI3uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBI4UIVPROC, glVertexAttribI4uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBI4BVPROC, glVertexAttribI4bv);
GLEXT_PROC(PFNGLVERTEXATTRIBI4SVPROC, glVertexAttribI4sv);
GLEXT_PROC(PFNGLVERTEXATTRIBI4UBVPROC, glVertexAttribI4ubv);
GLEXT_PROC(PFNGLVERTEXATTRIBI4USVPROC, glVertexAttribI4usv);
GLEXT_PROC(PFNGLGETUNIFORMUIVPROC, glGetUniformuiv);
GLEXT_PROC(PFNGLBINDFRAGDATALOCATIONPROC, glBindFragDataLocation);
GLEXT_PROC(PFNGLGETFRAGDATALOCATIONPROC, glGetFragDataLocation);
GLEXT_PROC(PFNGLUNIFORM1UIPROC, glUniform1ui);
GLEXT_PROC(PFNGLUNIFORM2UIPROC, glUniform2ui);
GLEXT_PROC(PFNGLUNIFORM3UIPROC, glUniform3ui);
GLEXT_PROC(PFNGLUNIFORM4UIPROC, glUniform4ui);
GLEXT_PROC(PFNGLUNIFORM1UIVPROC, glUniform1uiv);
GLEXT_PROC(PFNGLUNIFORM2UIVPROC, glUniform2uiv);
GLEXT_PROC(PFNGLUNIFORM3UIVPROC, glUniform3uiv);
GLEXT_PROC(PFNGLUNIFORM4UIVPROC, glUniform4uiv);
GLEXT_PROC(PFNGLTEXPARAMETERIIVPROC, glTexParameterIiv);
GLEXT_PROC(PFNGLTEXPARAMETERIUIVPROC, glTexParameterIuiv);
GLEXT_PROC(PFNGLGETTEXPARAMETERIIVPROC, glGetTexParameterIiv);
GLEXT_PROC(PFNGLGETTEXPARAMETERIUIVPROC, glGetTexParameterIuiv);
GLEXT_PROC(PFNGLCLEARBUFFERIVPROC, glClearBufferiv);
GLEXT_PROC(PFNGLCLEARBUFFERUIVPROC, glClearBufferuiv);
GLEXT_PROC(PFNGLCLEARBUFFERFVPROC, glClearBufferfv);
GLEXT_PROC(PFNGLCLEARBUFFERFIPROC, glClearBufferfi);
GLEXT_PROC(PFNGLGETSTRINGIPROC, glGetStringi);
GLEXT_PROC(PFNGLISRENDERBUFFERPROC, glIsRenderbuffer);
GLEXT_PROC(PFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer);
GLEXT_PROC(PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers);
GLEXT_PROC(PFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers);
GLEXT_PROC(PFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage);
GLEXT_PROC(PFNGLGETRENDERBUFFERPARAMETERIVPROC, glGetRenderbufferParameteriv);
GLEXT_PROC(PFNGLISFRAMEBUFFERPROC, glIsFramebuffer);
GLEXT_PROC(PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer);
GLEXT_PROC(PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers);
GLEXT_PROC(PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers);
GLEXT_PROC(PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURE1DPROC, glFramebufferTexture1D);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURE3DPROC, glFramebufferTexture3D);
GLEXT_PROC(PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer);
GLEXT_PROC(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC, glGetFramebufferAttachmentParameteriv);
GLEXT_PROC(PFNGLGENERATEMIPMAPPROC, glGenerateMipmap);
GLEXT_PROC(PFNGLBLITFRAMEBUFFERPROC, glBlitFramebuffer);
GLEXT_PROC(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC, glRenderbufferStorageMultisample);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURELAYERPROC, glFramebufferTextureLayer);
GLEXT_PROC(PFNGLMAPBUFFERRANGEPROC, glMapBufferRange);
GLEXT_PROC(PFNGLFLUSHMAPPEDBUFFERRANGEPROC, glFlushMappedBufferRange);
GLEXT_PROC(PFNGLBINDVERTEXARRAYPROC, glBindVertexArray);
GLEXT_PROC(PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays);
GLEXT_PROC(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays);
GLEXT_PROC(PFNGLISVERTEXARRAYPROC, glIsVertexArray);

// ---------------------------------------------------------------------------------
// GL_VERSION_3_1
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLDRAWARRAYSINSTANCEDPROC, glDrawArraysInstanced);
GLEXT_PROC(PFNGLDRAWELEMENTSINSTANCEDPROC, glDrawElementsInstanced);
GLEXT_PROC(PFNGLTEXBUFFERPROC, glTexBuffer);
GLEXT_PROC(PFNGLPRIMITIVERESTARTINDEXPROC, glPrimitiveRestartIndex);
GLEXT_PROC(PFNGLCOPYBUFFERSUBDATAPROC, glCopyBufferSubData);
GLEXT_PROC(PFNGLGETUNIFORMINDICESPROC, glGetUniformIndices);
GLEXT_PROC(PFNGLGETACTIVEUNIFORMSIVPROC, glGetActiveUniformsiv);
GLEXT_PROC(PFNGLGETACTIVEUNIFORMNAMEPROC, glGetActiveUniformName);
GLEXT_PROC(PFNGLGETUNIFORMBLOCKINDEXPROC, glGetUniformBlockIndex);
GLEXT_PROC(PFNGLGETACTIVEUNIFORMBLOCKIVPROC, glGetActiveUniformBlockiv);
GLEXT_PROC(PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC, glGetActiveUniformBlockName);
GLEXT_PROC(PFNGLUNIFORMBLOCKBINDINGPROC, glUniformBlockBinding);

// ---------------------------------------------------------------------------------
// GL_VERSION_3_2
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLDRAWELEMENTSBASEVERTEXPROC, glDrawElementsBaseVertex);
GLEXT_PROC(PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC, glDrawRangeElementsBaseVertex);
GLEXT_PROC(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC, glDrawElementsInstancedBaseVertex);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC, glMultiDrawElementsBaseVertex);
GLEXT_PROC(PFNGLPROVOKINGVERTEXPROC, glProvokingVertex);
GLEXT_PROC(PFNGLFENCESYNCPROC, glFenceSync);
GLEXT_PROC(PFNGLISSYNCPROC, glIsSync);
GLEXT_PROC(PFNGLDELETESYNCPROC, glDeleteSync);
GLEXT_PROC(PFNGLCLIENTWAITSYNCPROC, glClientWaitSync);
GLEXT_PROC(PFNGLWAITSYNCPROC, glWaitSync);
GLEXT_PROC(PFNGLGETINTEGER64VPROC, glGetInteger64v);
GLEXT_PROC(PFNGLGETSYNCIVPROC, glGetSynciv);
GLEXT_PROC(PFNGLGETINTEGER64I_VPROC, glGetInteger64i_v);
GLEXT_PROC(PFNGLGETBUFFERPARAMETERI64VPROC, glGetBufferParameteri64v);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTUREPROC, glFramebufferTexture);
GLEXT_PROC(PFNGLTEXIMAGE2DMULTISAMPLEPROC, glTexImage2DMultisample);
GLEXT_PROC(PFNGLTEXIMAGE3DMULTISAMPLEPROC, glTexImage3DMultisample);
GLEXT_PROC(PFNGLGETMULTISAMPLEFVPROC, glGetMultisamplefv);
GLEXT_PROC(PFNGLSAMPLEMASKIPROC, glSampleMaski);

// ---------------------------------------------------------------------------------
// GL_VERSION_3_3
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLBINDFRAGDATALOCATIONINDEXEDPROC, glBindFragDataLocationIndexed);
GLEXT_PROC(PFNGLGETFRAGDATAINDEXPROC, glGetFragDataIndex);
GLEXT_PROC(PFNGLGENSAMPLERSPROC, glGenSamplers);
GLEXT_PROC(PFNGLDELETESAMPLERSPROC, glDeleteSamplers);
GLEXT_PROC(PFNGLISSAMPLERPROC, glIsSampler);
GLEXT_PROC(PFNGLBINDSAMPLERPROC, glBindSampler);
GLEXT_PROC(PFNGLSAMPLERPARAMETERIPROC, glSamplerParameteri);
GLEXT_PROC(PFNGLSAMPLERPARAMETERIVPROC, glSamplerParameteriv);
GLEXT_PROC(PFNGLSAMPLERPARAMETERFPROC, glSamplerParameterf);
GLEXT_PROC(PFNGLSAMPLERPARAMETERFVPROC, glSamplerParameterfv);
GLEXT_PROC(PFNGLSAMPLERPARAMETERIIVPROC, glSamplerParameterIiv);
GLEXT_PROC(PFNGLSAMPLERPARAMETERIUIVPROC, glSamplerParameterIuiv);
GLEXT_PROC(PFNGLGETSAMPLERPARAMETERIVPROC, glGetSamplerParameteriv);
GLEXT_PROC(PFNGLGETSAMPLERPARAMETERIIVPROC, glGetSamplerParameterIiv);
GLEXT_PROC(PFNGLGETSAMPLERPARAMETERFVPROC, glGetSamplerParameterfv);
GLEXT_PROC(PFNGLGETSAMPLERPARAMETERIUIVPROC, glGetSamplerParameterIuiv);
GLEXT_PROC(PFNGLQUERYCOUNTERPROC, glQueryCounter);
GLEXT_PROC(PFNGLGETQUERYOBJECTI64VPROC, glGetQueryObjecti64v);
GLEXT_PROC(PFNGLGETQUERYOBJECTUI64VPROC, glGetQueryObjectui64v);
GLEXT_PROC(PFNGLVERTEXATTRIBDIVISORPROC, glVertexAttribDivisor);
GLEXT_PROC(PFNGLVERTEXATTRIBP1UIPROC, glVertexAttribP1ui);
GLEXT_PROC(PFNGLVERTEXATTRIBP1UIVPROC, glVertexAttribP1uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBP2UIPROC, glVertexAttribP2ui);
GLEXT_PROC(PFNGLVERTEXATTRIBP2UIVPROC, glVertexAttribP2uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBP3UIPROC, glVertexAttribP3ui);
GLEXT_PROC(PFNGLVERTEXATTRIBP3UIVPROC, glVertexAttribP3uiv);
GLEXT_PROC(PFNGLVERTEXATTRIBP4UIPROC, glVertexAttribP4ui);
GLEXT_PROC(PFNGLVERTEXATTRIBP4UIVPROC, glVertexAttribP4uiv);
GLEXT_PROC(PFNGLVERTEXP2UIPROC, glVertexP2ui);
GLEXT_PROC(PFNGLVERTEXP2UIVPROC, glVertexP2uiv);
GLEXT_PROC(PFNGLVERTEXP3UIPROC, glVertexP3ui);
GLEXT_PROC(PFNGLVERTEXP3UIVPROC, glVertexP3uiv);
GLEXT_PROC(PFNGLVERTEXP4UIPROC, glVertexP4ui);
GLEXT_PROC(PFNGLVERTEXP4UIVPROC, glVertexP4uiv);
GLEXT_PROC(PFNGLTEXCOORDP1UIPROC, glTexCoordP1ui);
GLEXT_PROC(PFNGLTEXCOORDP1UIVPROC, glTexCoordP1uiv);
GLEXT_PROC(PFNGLTEXCOORDP2UIPROC, glTexCoordP2ui);
GLEXT_PROC(PFNGLTEXCOORDP2UIVPROC, glTexCoordP2uiv);
GLEXT_PROC(PFNGLTEXCOORDP3UIPROC, glTexCoordP3ui);
GLEXT_PROC(PFNGLTEXCOORDP3UIVPROC, glTexCoordP3uiv);
GLEXT_PROC(PFNGLTEXCOORDP4UIPROC, glTexCoordP4ui);
GLEXT_PROC(PFNGLTEXCOORDP4UIVPROC, glTexCoordP4uiv);
GLEXT_PROC(PFNGLMULTITEXCOORDP1UIPROC, glMultiTexCoordP1ui);
GLEXT_PROC(PFNGLMULTITEXCOORDP1UIVPROC, glMultiTexCoordP1uiv);
GLEXT_PROC(PFNGLMULTITEXCOORDP2UIPROC, glMultiTexCoordP2ui);
GLEXT_PROC(PFNGLMULTITEXCOORDP2UIVPROC, glMultiTexCoordP2uiv);
GLEXT_PROC(PFNGLMULTITEXCOORDP3UIPROC, glMultiTexCoordP3ui);
GLEXT_PROC(PFNGLMULTITEXCOORDP3UIVPROC, glMultiTexCoordP3uiv);
GLEXT_PROC(PFNGLMULTITEXCOORDP4UIPROC, glMultiTexCoordP4ui);
GLEXT_PROC(PFNGLMULTITEXCOORDP4UIVPROC, glMultiTexCoordP4uiv);
GLEXT_PROC(PFNGLNORMALP3UIPROC, glNormalP3ui);
GLEXT_PROC(PFNGLNORMALP3UIVPROC, glNormalP3uiv);
GLEXT_PROC(PFNGLCOLORP3UIPROC, glColorP3ui);
GLEXT_PROC(PFNGLCOLORP3UIVPROC, glColorP3uiv);
GLEXT_PROC(PFNGLCOLORP4UIPROC, glColorP4ui);
GLEXT_PROC(PFNGLCOLORP4UIVPROC, glColorP4uiv);
GLEXT_PROC(PFNGLSECONDARYCOLORP3UIPROC, glSecondaryColorP3ui);
GLEXT_PROC(PFNGLSECONDARYCOLORP3UIVPROC, glSecondaryColorP3uiv);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_0
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLMINSAMPLESHADINGPROC, glMinSampleShading);
GLEXT_PROC(PFNGLBLENDEQUATIONIPROC, glBlendEquationi);
GLEXT_PROC(PFNGLBLENDEQUATIONSEPARATEIPROC, glBlendEquationSeparatei);
GLEXT_PROC(PFNGLBLENDFUNCIPROC, glBlendFunci);
GLEXT_PROC(PFNGLBLENDFUNCSEPARATEIPROC, glBlendFuncSeparatei);
GLEXT_PROC(PFNGLDRAWARRAYSINDIRECTPROC, glDrawArraysIndirect);
GLEXT_PROC(PFNGLDRAWELEMENTSINDIRECTPROC, glDrawElementsIndirect);
GLEXT_PROC(PFNGLUNIFORM1DPROC, glUniform1d);
GLEXT_PROC(PFNGLUNIFORM2DPROC, glUniform2d);
GLEXT_PROC(PFNGLUNIFORM3DPROC, glUniform3d);
GLEXT_PROC(PFNGLUNIFORM4DPROC, glUniform4d);
GLEXT_PROC(PFNGLUNIFORM1DVPROC, glUniform1dv);
GLEXT_PROC(PFNGLUNIFORM2DVPROC, glUniform2dv);
GLEXT_PROC(PFNGLUNIFORM3DVPROC, glUniform3dv);
GLEXT_PROC(PFNGLUNIFORM4DVPROC, glUniform4dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX2DVPROC, glUniformMatrix2dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX3DVPROC, glUniformMatrix3dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX4DVPROC, glUniformMatrix4dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX2X3DVPROC, glUniformMatrix2x3dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX2X4DVPROC, glUniformMatrix2x4dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX3X2DVPROC, glUniformMatrix3x2dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX3X4DVPROC, glUniformMatrix3x4dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX4X2DVPROC, glUniformMatrix4x2dv);
GLEXT_PROC(PFNGLUNIFORMMATRIX4X3DVPROC, glUniformMatrix4x3dv);
GLEXT_PROC(PFNGLGETUNIFORMDVPROC, glGetUniformdv);
GLEXT_PROC(PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC, glGetSubroutineUniformLocation);
GLEXT_PROC(PFNGLGETSUBROUTINEINDEXPROC, glGetSubroutineIndex);
GLEXT_PROC(PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC, glGetActiveSubroutineUniformiv);
GLEXT_PROC(PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC, glGetActiveSubroutineUniformName);
GLEXT_PROC(PFNGLGETACTIVESUBROUTINENAMEPROC, glGetActiveSubroutineName);
GLEXT_PROC(PFNGLUNIFORMSUBROUTINESUIVPROC, glUniformSubroutinesuiv);
GLEXT_PROC(PFNGLGETUNIFORMSUBROUTINEUIVPROC, glGetUniformSubroutineuiv);
GLEXT_PROC(PFNGLGETPROGRAMSTAGEIVPROC, glGetProgramStageiv);
GLEXT_PROC(PFNGLPATCHPARAMETERIPROC, glPatchParameteri);
GLEXT_PROC(PFNGLPATCHPARAMETERFVPROC, glPatchParameterfv);
GLEXT_PROC(PFNGLBINDTRANSFORMFEEDBACKPROC, glBindTransformFeedback);
GLEXT_PROC(PFNGLDELETETRANSFORMFEEDBACKSPROC, glDeleteTransformFeedbacks);
GLEXT_PROC(PFNGLGENTRANSFORMFEEDBACKSPROC, glGenTransformFeedbacks);
GLEXT_PROC(PFNGLISTRANSFORMFEEDBACKPROC, glIsTransformFeedback);
GLEXT_PROC(PFNGLPAUSETRANSFORMFEEDBACKPROC, glPauseTransformFeedback);
GLEXT_PROC(PFNGLRESUMETRANSFORMFEEDBACKPROC, glResumeTransformFeedback);
GLEXT_PROC(PFNGLDRAWTRANSFORMFEEDBACKPROC, glDrawTransformFeedback);
GLEXT_PROC(PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC, glDrawTransformFeedbackStream);
GLEXT_PROC(PFNGLBEGINQUERYINDEXEDPROC, glBeginQueryIndexed);
GLEXT_PROC(PFNGLENDQUERYINDEXEDPROC, glEndQueryIndexed);
GLEXT_PROC(PFNGLGETQUERYINDEXEDIVPROC, glGetQueryIndexediv);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_1
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLRELEASESHADERCOMPILERPROC, glReleaseShaderCompiler);
GLEXT_PROC(PFNGLSHADERBINARYPROC, glShaderBinary);
GLEXT_PROC(PFNGLGETSHADERPRECISIONFORMATPROC, glGetShaderPrecisionFormat);
GLEXT_PROC(PFNGLDEPTHRANGEFPROC, glDepthRangef);
GLEXT_PROC(PFNGLCLEARDEPTHFPROC, glClearDepthf);
GLEXT_PROC(PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary);
GLEXT_PROC(PFNGLPROGRAMBINARYPROC, glProgramBinary);
GLEXT_PROC(PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri);
GLEXT_PROC(PFNGLUSEPROGRAMSTAGESPROC, glUseProgramStages);
GLEXT_PROC(PFNGLACTIVESHADERPROGRAMPROC, glActiveShaderProgram);
GLEXT_PROC(PFNGLCREATESHADERPROGRAMVPROC, glCreateShaderProgramv);
GLEXT_PROC(PFNGLBINDPROGRAMPIPELINEPROC, glBindProgramPipeline);
GLEXT_PROC(PFNGLDELETEPROGRAMPIPELINESPROC, glDeleteProgramPipelines);
GLEXT_PROC(PFNGLGENPROGRAMPIPELINESPROC, glGenProgramPipelines);
GLEXT_PROC(PFNGLISPROGRAMPIPELINEPROC, glIsProgramPipeline);
GLEXT_PROC(PFNGLGETPROGRAMPIPELINEIVPROC, glGetProgramPipelineiv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1IPROC, glProgramUniform1i);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1IVPROC, glProgramUniform1iv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1FPROC, glProgramUniform1f);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1FVPROC, glProgramUniform1fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1DPROC, glProgramUniform1d);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1DVPROC, glProgramUniform1dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UIPROC, glProgramUniform1ui);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UIVPROC, glProgramUniform1uiv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2IPROC, glProgramUniform2i);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2IVPROC, glProgramUniform2iv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2FPROC, glProgramUniform2f);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2FVPROC, glProgramUniform2fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2DPROC, glProgramUniform2d);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2DVPROC, glProgramUniform2dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UIPROC, glProgramUniform2ui);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UIVPROC, glProgramUniform2uiv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3IPROC, glProgramUniform3i);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3IVPROC, glProgramUniform3iv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3FPROC, glProgramUniform3f);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3FVPROC, glProgramUniform3fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3DPROC, glProgramUniform3d);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3DVPROC, glProgramUniform3dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UIPROC, glProgramUniform3ui);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UIVPROC, glProgramUniform3uiv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4IPROC, glProgramUniform4i);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4IVPROC, glProgramUniform4iv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4FPROC, glProgramUniform4f);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4FVPROC, glProgramUniform4fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4DPROC, glProgramUniform4d);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4DVPROC, glProgramUniform4dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UIPROC, glProgramUniform4ui);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UIVPROC, glProgramUniform4uiv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2FVPROC, glProgramUniformMatrix2fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3FVPROC, glProgramUniformMatrix3fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4FVPROC, glProgramUniformMatrix4fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2DVPROC, glProgramUniformMatrix2dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3DVPROC, glProgramUniformMatrix3dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4DVPROC, glProgramUniformMatrix4dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC, glProgramUniformMatrix2x3fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC, glProgramUniformMatrix3x2fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC, glProgramUniformMatrix2x4fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC, glProgramUniformMatrix4x2fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC, glProgramUniformMatrix3x4fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC, glProgramUniformMatrix4x3fv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC, glProgramUniformMatrix2x3dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC, glProgramUniformMatrix3x2dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC, glProgramUniformMatrix2x4dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC, glProgramUniformMatrix4x2dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC, glProgramUniformMatrix3x4dv);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC, glProgramUniformMatrix4x3dv);
GLEXT_PROC(PFNGLVALIDATEPROGRAMPIPELINEPROC, glValidateProgramPipeline);
GLEXT_PROC(PFNGLGETPROGRAMPIPELINEINFOLOGPROC, glGetProgramPipelineInfoLog);
GLEXT_PROC(PFNGLVERTEXATTRIBL1DPROC, glVertexAttribL1d);
GLEXT_PROC(PFNGLVERTEXATTRIBL2DPROC, glVertexAttribL2d);
GLEXT_PROC(PFNGLVERTEXATTRIBL3DPROC, glVertexAttribL3d);
GLEXT_PROC(PFNGLVERTEXATTRIBL4DPROC, glVertexAttribL4d);
GLEXT_PROC(PFNGLVERTEXATTRIBL1DVPROC, glVertexAttribL1dv);
GLEXT_PROC(PFNGLVERTEXATTRIBL2DVPROC, glVertexAttribL2dv);
GLEXT_PROC(PFNGLVERTEXATTRIBL3DVPROC, glVertexAttribL3dv);
GLEXT_PROC(PFNGLVERTEXATTRIBL4DVPROC, glVertexAttribL4dv);
GLEXT_PROC(PFNGLVERTEXATTRIBLPOINTERPROC, glVertexAttribLPointer);
GLEXT_PROC(PFNGLGETVERTEXATTRIBLDVPROC, glGetVertexAttribLdv);
GLEXT_PROC(PFNGLVIEWPORTARRAYVPROC, glViewportArrayv);
GLEXT_PROC(PFNGLVIEWPORTINDEXEDFPROC, glViewportIndexedf);
GLEXT_PROC(PFNGLVIEWPORTINDEXEDFVPROC, glViewportIndexedfv);
GLEXT_PROC(PFNGLSCISSORARRAYVPROC, glScissorArrayv);
GLEXT_PROC(PFNGLSCISSORINDEXEDPROC, glScissorIndexed);
GLEXT_PROC(PFNGLSCISSORINDEXEDVPROC, glScissorIndexedv);
GLEXT_PROC(PFNGLDEPTHRANGEARRAYVPROC, glDepthRangeArrayv);
GLEXT_PROC(PFNGLDEPTHRANGEINDEXEDPROC, glDepthRangeIndexed);
GLEXT_PROC(PFNGLGETFLOATI_VPROC, glGetFloati_v);
GLEXT_PROC(PFNGLGETDOUBLEI_VPROC, glGetDoublei_v);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_2
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC, glDrawArraysInstancedBaseInstance);
GLEXT_PROC(PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC, glDrawElementsInstancedBaseInstance);
GLEXT_PROC(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC, glDrawElementsInstancedBaseVertexBaseInstance);
GLEXT_PROC(PFNGLGETINTERNALFORMATIVPROC, glGetInternalformativ);
GLEXT_PROC(PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC, glGetActiveAtomicCounterBufferiv);
GLEXT_PROC(PFNGLBINDIMAGETEXTUREPROC, glBindImageTexture);
GLEXT_PROC(PFNGLMEMORYBARRIERPROC, glMemoryBarrier);
GLEXT_PROC(PFNGLTEXSTORAGE1DPROC, glTexStorage1D);
GLEXT_PROC(PFNGLTEXSTORAGE2DPROC, glTexStorage2D);
GLEXT_PROC(PFNGLTEXSTORAGE3DPROC, glTexStorage3D);
GLEXT_PROC(PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC, glDrawTransformFeedbackInstanced);
GLEXT_PROC(PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC, glDrawTransformFeedbackStreamInstanced);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_3
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLCLEARBUFFERDATAPROC, glClearBufferData);
GLEXT_PROC(PFNGLCLEARBUFFERSUBDATAPROC, glClearBufferSubData);
GLEXT_PROC(PFNGLDISPATCHCOMPUTEPROC, glDispatchCompute);
GLEXT_PROC(PFNGLDISPATCHCOMPUTEINDIRECTPROC, glDispatchComputeIndirect);
GLEXT_PROC(PFNGLCOPYIMAGESUBDATAPROC, glCopyImageSubData);
GLEXT_PROC(PFNGLFRAMEBUFFERPARAMETERIPROC, glFramebufferParameteri);
GLEXT_PROC(PFNGLGETFRAMEBUFFERPARAMETERIVPROC, glGetFramebufferParameteriv);
GLEXT_PROC(PFNGLGETINTERNALFORMATI64VPROC, glGetInternalformati64v);
GLEXT_PROC(PFNGLINVALIDATETEXSUBIMAGEPROC, glInvalidateTexSubImage);
GLEXT_PROC(PFNGLINVALIDATETEXIMAGEPROC, glInvalidateTexImage);
GLEXT_PROC(PFNGLINVALIDATEBUFFERSUBDATAPROC, glInvalidateBufferSubData);
GLEXT_PROC(PFNGLINVALIDATEBUFFERDATAPROC, glInvalidateBufferData);
GLEXT_PROC(PFNGLINVALIDATEFRAMEBUFFERPROC, glInvalidateFramebuffer);
GLEXT_PROC(PFNGLINVALIDATESUBFRAMEBUFFERPROC, glInvalidateSubFramebuffer);
GLEXT_PROC(PFNGLMULTIDRAWARRAYSINDIRECTPROC, glMultiDrawArraysIndirect);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSINDIRECTPROC, glMultiDrawElementsIndirect);
GLEXT_PROC(PFNGLGETPROGRAMINTERFACEIVPROC, glGetProgramInterfaceiv);
GLEXT_PROC(PFNGLGETPROGRAMRESOURCEINDEXPROC, glGetProgramResourceIndex);
GLEXT_PROC(PFNGLGETPROGRAMRESOURCENAMEPROC, glGetProgramResourceName);
GLEXT_PROC(PFNGLGETPROGRAMRESOURCEIVPROC, glGetProgramResourceiv);
GLEXT_PROC(PFNGLGETPROGRAMRESOURCELOCATIONPROC, glGetProgramResourceLocation);
GLEXT_PROC(PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC, glGetProgramResourceLocationIndex);
GLEXT_PROC(PFNGLSHADERSTORAGEBLOCKBINDINGPROC, glShaderStorageBlockBinding);
GLEXT_PROC(PFNGLTEXBUFFERRANGEPROC, glTexBufferRange);
GLEXT_PROC(PFNGLTEXSTORAGE2DMULTISAMPLEPROC, glTexStorage2DMultisample);
GLEXT_PROC(PFNGLTEXSTORAGE3DMULTISAMPLEPROC, glTexStorage3DMultisample);
GLEXT_PROC(PFNGLTEXTUREVIEWPROC, glTextureView);
GLEXT_PROC(PFNGLBINDVERTEXBUFFERPROC, glBindVertexBuffer);
GLEXT_PROC(PFNGLVERTEXATTRIBFORMATPROC, glVertexAttribFormat);
GLEXT_PROC(PFNGLVERTEXATTRIBIFORMATPROC, glVertexAttribIFormat);
GLEXT_PROC(PFNGLVERTEXATTRIBLFORMATPROC, glVertexAttribLFormat);
GLEXT_PROC(PFNGLVERTEXATTRIBBINDINGPROC, glVertexAttribBinding);
GLEXT_PROC(PFNGLVERTEXBINDINGDIVISORPROC, glVertexBindingDivisor);
GLEXT_PROC(PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl);
GLEXT_PROC(PFNGLDEBUGMESSAGEINSERTPROC, glDebugMessageInsert);
GLEXT_PROC(PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback);
GLEXT_PROC(PFNGLGETDEBUGMESSAGELOGPROC, glGetDebugMessageLog);
GLEXT_PROC(PFNGLPUSHDEBUGGROUPPROC, glPushDebugGroup);
GLEXT_PROC(PFNGLPOPDEBUGGROUPPROC, glPopDebugGroup);
GLEXT_PROC(PFNGLOBJECTLABELPROC, glObjectLabel);
GLEXT_PROC(PFNGLGETOBJECTLABELPROC, glGetObjectLabel);
GLEXT_PROC(PFNGLOBJECTPTRLABELPROC, glObjectPtrLabel);
GLEXT_PROC(PFNGLGETOBJECTPTRLABELPROC, glGetObjectPtrLabel);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_4
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLBUFFERSTORAGEPROC, glBufferStorage);
GLEXT_PROC(PFNGLCLEARTEXIMAGEPROC, glClearTexImage);
GLEXT_PROC(PFNGLCLEARTEXSUBIMAGEPROC, glClearTexSubImage);
GLEXT_PROC(PFNGLBINDBUFFERSBASEPROC, glBindBuffersBase);
GLEXT_PROC(PFNGLBINDBUFFERSRANGEPROC, glBindBuffersRange);
GLEXT_PROC(PFNGLBINDTEXTURESPROC, glBindTextures);
GLEXT_PROC(PFNGLBINDSAMPLERSPROC, glBindSamplers);
GLEXT_PROC(PFNGLBINDIMAGETEXTURESPROC, glBindImageTextures);
GLEXT_PROC(PFNGLBINDVERTEXBUFFERSPROC, glBindVertexBuffers);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_5
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLCLIPCONTROLPROC, glClipControl);
GLEXT_PROC(PFNGLCREATETRANSFORMFEEDBACKSPROC, glCreateTransformFeedbacks);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC, glTransformFeedbackBufferBase);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC, glTransformFeedbackBufferRange);
GLEXT_PROC(PFNGLGETTRANSFORMFEEDBACKIVPROC, glGetTransformFeedbackiv);
GLEXT_PROC(PFNGLGETTRANSFORMFEEDBACKI_VPROC, glGetTransformFeedbacki_v);
GLEXT_PROC(PFNGLGETTRANSFORMFEEDBACKI64_VPROC, glGetTransformFeedbacki64_v);
GLEXT_PROC(PFNGLCREATEBUFFERSPROC, glCreateBuffers);
GLEXT_PROC(PFNGLNAMEDBUFFERSTORAGEPROC, glNamedBufferStorage);
GLEXT_PROC(PFNGLNAMEDBUFFERDATAPROC, glNamedBufferData);
GLEXT_PROC(PFNGLNAMEDBUFFERSUBDATAPROC, glNamedBufferSubData);
GLEXT_PROC(PFNGLCOPYNAMEDBUFFERSUBDATAPROC, glCopyNamedBufferSubData);
GLEXT_PROC(PFNGLCLEARNAMEDBUFFERDATAPROC, glClearNamedBufferData);
GLEXT_PROC(PFNGLCLEARNAMEDBUFFERSUBDATAPROC, glClearNamedBufferSubData);
GLEXT_PROC(PFNGLMAPNAMEDBUFFERPROC, glMapNamedBuffer);
GLEXT_PROC(PFNGLMAPNAMEDBUFFERRANGEPROC, glMapNamedBufferRange);
GLEXT_PROC(PFNGLUNMAPNAMEDBUFFERPROC, glUnmapNamedBuffer);
GLEXT_PROC(PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC, glFlushMappedNamedBufferRange);
GLEXT_PROC(PFNGLGETNAMEDBUFFERPARAMETERIVPROC, glGetNamedBufferParameteriv);
GLEXT_PROC(PFNGLGETNAMEDBUFFERPARAMETERI64VPROC, glGetNamedBufferParameteri64v);
GLEXT_PROC(PFNGLGETNAMEDBUFFERPOINTERVPROC, glGetNamedBufferPointerv);
GLEXT_PROC(PFNGLGETNAMEDBUFFERSUBDATAPROC, glGetNamedBufferSubData);
GLEXT_PROC(PFNGLCREATEFRAMEBUFFERSPROC, glCreateFramebuffers);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC, glNamedFramebufferRenderbuffer);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC, glNamedFramebufferParameteri);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTUREPROC, glNamedFramebufferTexture);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC, glNamedFramebufferTextureLayer);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC, glNamedFramebufferDrawBuffer);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC, glNamedFramebufferDrawBuffers);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC, glNamedFramebufferReadBuffer);
GLEXT_PROC(PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC, glInvalidateNamedFramebufferData);
GLEXT_PROC(PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC, glInvalidateNamedFramebufferSubData);
GLEXT_PROC(PFNGLCLEARNAMEDFRAMEBUFFERIVPROC, glClearNamedFramebufferiv);
GLEXT_PROC(PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC, glClearNamedFramebufferuiv);
GLEXT_PROC(PFNGLCLEARNAMEDFRAMEBUFFERFVPROC, glClearNamedFramebufferfv);
GLEXT_PROC(PFNGLCLEARNAMEDFRAMEBUFFERFIPROC, glClearNamedFramebufferfi);
GLEXT_PROC(PFNGLBLITNAMEDFRAMEBUFFERPROC, glBlitNamedFramebuffer);
GLEXT_PROC(PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC, glCheckNamedFramebufferStatus);
GLEXT_PROC(PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC, glGetNamedFramebufferParameteriv);
GLEXT_PROC(PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC, glGetNamedFramebufferAttachmentParameteriv);
GLEXT_PROC(PFNGLCREATERENDERBUFFERSPROC, glCreateRenderbuffers);
GLEXT_PROC(PFNGLNAMEDRENDERBUFFERSTORAGEPROC, glNamedRenderbufferStorage);
GLEXT_PROC(PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC, glNamedRenderbufferStorageMultisample);
GLEXT_PROC(PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC, glGetNamedRenderbufferParameteriv);
GLEXT_PROC(PFNGLCREATETEXTURESPROC, glCreateTextures);
GLEXT_PROC(PFNGLTEXTUREBUFFERPROC, glTextureBuffer);
GLEXT_PROC(PFNGLTEXTUREBUFFERRANGEPROC, glTextureBufferRange);
GLEXT_PROC(PFNGLTEXTURESTORAGE1DPROC, glTextureStorage1D);
GLEXT_PROC(PFNGLTEXTURESTORAGE2DPROC, glTextureStorage2D);
GLEXT_PROC(PFNGLTEXTURESTORAGE3DPROC, glTextureStorage3D);
GLEXT_PROC(PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC, glTextureStorage2DMultisample);
GLEXT_PROC(PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC, glTextureStorage3DMultisample);
GLEXT_PROC(PFNGLTEXTURESUBIMAGE1DPROC, glTextureSubImage1D);
GLEXT_PROC(PFNGLTEXTURESUBIMAGE2DPROC, glTextureSubImage2D);
GLEXT_PROC(PFNGLTEXTURESUBIMAGE3DPROC, glTextureSubImage3D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC, glCompressedTextureSubImage1D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC, glCompressedTextureSubImage2D);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC, glCompressedTextureSubImage3D);
GLEXT_PROC(PFNGLCOPYTEXTURESUBIMAGE1DPROC, glCopyTextureSubImage1D);
GLEXT_PROC(PFNGLCOPYTEXTURESUBIMAGE2DPROC, glCopyTextureSubImage2D);
GLEXT_PROC(PFNGLCOPYTEXTURESUBIMAGE3DPROC, glCopyTextureSubImage3D);
GLEXT_PROC(PFNGLTEXTUREPARAMETERFPROC, glTextureParameterf);
GLEXT_PROC(PFNGLTEXTUREPARAMETERFVPROC, glTextureParameterfv);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIPROC, glTextureParameteri);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIIVPROC, glTextureParameterIiv);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIUIVPROC, glTextureParameterIuiv);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIVPROC, glTextureParameteriv);
GLEXT_PROC(PFNGLGENERATETEXTUREMIPMAPPROC, glGenerateTextureMipmap);
GLEXT_PROC(PFNGLBINDTEXTUREUNITPROC, glBindTextureUnit);
GLEXT_PROC(PFNGLGETTEXTUREIMAGEPROC, glGetTextureImage);
GLEXT_PROC(PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC, glGetCompressedTextureImage);
GLEXT_PROC(PFNGLGETTEXTURELEVELPARAMETERFVPROC, glGetTextureLevelParameterfv);
GLEXT_PROC(PFNGLGETTEXTURELEVELPARAMETERIVPROC, glGetTextureLevelParameteriv);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERFVPROC, glGetTextureParameterfv);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERIIVPROC, glGetTextureParameterIiv);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERIUIVPROC, glGetTextureParameterIuiv);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERIVPROC, glGetTextureParameteriv);
GLEXT_PROC(PFNGLCREATEVERTEXARRAYSPROC, glCreateVertexArrays);
GLEXT_PROC(PFNGLDISABLEVERTEXARRAYATTRIBPROC, glDisableVertexArrayAttrib);
GLEXT_PROC(PFNGLENABLEVERTEXARRAYATTRIBPROC, glEnableVertexArrayAttrib);
GLEXT_PROC(PFNGLVERTEXARRAYELEMENTBUFFERPROC, glVertexArrayElementBuffer);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXBUFFERPROC, glVertexArrayVertexBuffer);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXBUFFERSPROC, glVertexArrayVertexBuffers);
GLEXT_PROC(PFNGLVERTEXARRAYATTRIBBINDINGPROC, glVertexArrayAttribBinding);
GLEXT_PROC(PFNGLVERTEXARRAYATTRIBFORMATPROC, glVertexArrayAttribFormat);
GLEXT_PROC(PFNGLVERTEXARRAYATTRIBIFORMATPROC, glVertexArrayAttribIFormat);
GLEXT_PROC(PFNGLVERTEXARRAYATTRIBLFORMATPROC, glVertexArrayAttribLFormat);
GLEXT_PROC(PFNGLVERTEXARRAYBINDINGDIVISORPROC, glVertexArrayBindingDivisor);
GLEXT_PROC(PFNGLGETVERTEXARRAYIVPROC, glGetVertexArrayiv);
GLEXT_PROC(PFNGLGETVERTEXARRAYINDEXEDIVPROC, glGetVertexArrayIndexediv);
GLEXT_PROC(PFNGLGETVERTEXARRAYINDEXED64IVPROC, glGetVertexArrayIndexed64iv);
GLEXT_PROC(PFNGLCREATESAMPLERSPROC, glCreateSamplers);
GLEXT_PROC(PFNGLCREATEPROGRAMPIPELINESPROC, glCreateProgramPipelines);
GLEXT_PROC(PFNGLCREATEQUERIESPROC, glCreateQueries);
GLEXT_PROC(PFNGLGETQUERYBUFFEROBJECTI64VPROC, glGetQueryBufferObjecti64v);
GLEXT_PROC(PFNGLGETQUERYBUFFEROBJECTIVPROC, glGetQueryBufferObjectiv);
GLEXT_PROC(PFNGLGETQUERYBUFFEROBJECTUI64VPROC, glGetQueryBufferObjectui64v);
GLEXT_PROC(PFNGLGETQUERYBUFFEROBJECTUIVPROC, glGetQueryBufferObjectuiv);
GLEXT_PROC(PFNGLMEMORYBARRIERBYREGIONPROC, glMemoryBarrierByRegion);
GLEXT_PROC(PFNGLGETTEXTURESUBIMAGEPROC, glGetTextureSubImage);
GLEXT_PROC(PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC, glGetCompressedTextureSubImage);
GLEXT_PROC(PFNGLGETGRAPHICSRESETSTATUSPROC, glGetGraphicsResetStatus);
GLEXT_PROC(PFNGLGETNCOMPRESSEDTEXIMAGEPROC, glGetnCompressedTexImage);
GLEXT_PROC(PFNGLGETNTEXIMAGEPROC, glGetnTexImage);
GLEXT_PROC(PFNGLGETNUNIFORMDVPROC, glGetnUniformdv);
GLEXT_PROC(PFNGLGETNUNIFORMFVPROC, glGetnUniformfv);
GLEXT_PROC(PFNGLGETNUNIFORMIVPROC, glGetnUniformiv);
GLEXT_PROC(PFNGLGETNUNIFORMUIVPROC, glGetnUniformuiv);
GLEXT_PROC(PFNGLREADNPIXELSPROC, glReadnPixels);
GLEXT_PROC(PFNGLGETNMAPDVPROC, glGetnMapdv);
GLEXT_PROC(PFNGLGETNMAPFVPROC, glGetnMapfv);
GLEXT_PROC(PFNGLGETNMAPIVPROC, glGetnMapiv);
GLEXT_PROC(PFNGLGETNPIXELMAPFVPROC, glGetnPixelMapfv);
GLEXT_PROC(PFNGLGETNPIXELMAPUIVPROC, glGetnPixelMapuiv);
GLEXT_PROC(PFNGLGETNPIXELMAPUSVPROC, glGetnPixelMapusv);
GLEXT_PROC(PFNGLGETNPOLYGONSTIPPLEPROC, glGetnPolygonStipple);
GLEXT_PROC(PFNGLGETNCOLORTABLEPROC, glGetnColorTable);
GLEXT_PROC(PFNGLGETNCONVOLUTIONFILTERPROC, glGetnConvolutionFilter);
GLEXT_PROC(PFNGLGETNSEPARABLEFILTERPROC, glGetnSeparableFilter);
GLEXT_PROC(PFNGLGETNHISTOGRAMPROC, glGetnHistogram);
GLEXT_PROC(PFNGLGETNMINMAXPROC, glGetnMinmax);
GLEXT_PROC(PFNGLTEXTUREBARRIERPROC, glTextureBarrier);

// ---------------------------------------------------------------------------------
// GL_VERSION_4_6
// ---------------------------------------------------------------------------------

GLEXT_PROC(PFNGLSPECIALIZESHADERPROC, glSpecializeShader);
GLEXT_PROC(PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC, glMultiDrawArraysIndirectCount);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC, glMultiDrawElementsIndirectCount);
GLEXT_PROC(PFNGLPOLYGONOFFSETCLAMPPROC, glPolygonOffsetClamp);

// ---------------------------------------------------------------------------------
// ARB
// ---------------------------------------------------------------------------------

// GL_ARB_bindless_texture
GLEXT_PROC(PFNGLGETTEXTUREHANDLEARBPROC, glGetTextureHandleARB);
GLEXT_PROC(PFNGLGETTEXTURESAMPLERHANDLEARBPROC, glGetTextureSamplerHandleARB);
GLEXT_PROC(PFNGLMAKETEXTUREHANDLERESIDENTARBPROC, glMakeTextureHandleResidentARB);
GLEXT_PROC(PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC, glMakeTextureHandleNonResidentARB);
GLEXT_PROC(PFNGLGETIMAGEHANDLEARBPROC, glGetImageHandleARB);
GLEXT_PROC(PFNGLMAKEIMAGEHANDLERESIDENTARBPROC, glMakeImageHandleResidentARB);
GLEXT_PROC(PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC, glMakeImageHandleNonResidentARB);
GLEXT_PROC(PFNGLUNIFORMHANDLEUI64ARBPROC, glUniformHandleui64ARB);
GLEXT_PROC(PFNGLUNIFORMHANDLEUI64VARBPROC, glUniformHandleui64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC, glProgramUniformHandleui64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC, glProgramUniformHandleui64vARB);
GLEXT_PROC(PFNGLISTEXTUREHANDLERESIDENTARBPROC, glIsTextureHandleResidentARB);
GLEXT_PROC(PFNGLISIMAGEHANDLERESIDENTARBPROC, glIsImageHandleResidentARB);
GLEXT_PROC(PFNGLVERTEXATTRIBL1UI64ARBPROC, glVertexAttribL1ui64ARB);
GLEXT_PROC(PFNGLVERTEXATTRIBL1UI64VARBPROC, glVertexAttribL1ui64vARB);
GLEXT_PROC(PFNGLGETVERTEXATTRIBLUI64VARBPROC, glGetVertexAttribLui64vARB);

// GL_ARB_cl_event
GLEXT_PROC(PFNGLCREATESYNCFROMCLEVENTARBPROC, glCreateSyncFromCLeventARB);

// GL_ARB_color_buffer_float
GLEXT_PROC(PFNGLCLAMPCOLORARBPROC, glClampColorARB);

// GL_ARB_compute_variable_group_size
GLEXT_PROC(PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC, glDispatchComputeGroupSizeARB);

// GL_ARB_debug_output
GLEXT_PROC(GLDEBUGPROCARB, glDebugARB);
GLEXT_PROC(PFNGLDEBUGMESSAGECONTROLARBPROC, glDebugMessageControlARB);
GLEXT_PROC(PFNGLDEBUGMESSAGEINSERTARBPROC, glDebugMessageInsertARB);
GLEXT_PROC(PFNGLDEBUGMESSAGECALLBACKARBPROC, glDebugMessageCallbackARB);
GLEXT_PROC(PFNGLGETDEBUGMESSAGELOGARBPROC, glGetDebugMessageLogARB);

// GL_ARB_draw_buffers
GLEXT_PROC(PFNGLDRAWBUFFERSARBPROC, glDrawBuffersARB);

// GL_ARB_draw_buffers_blend
GLEXT_PROC(PFNGLBLENDEQUATIONIARBPROC, glBlendEquationiARB);
GLEXT_PROC(PFNGLBLENDEQUATIONSEPARATEIARBPROC, glBlendEquationSeparateiARB);
GLEXT_PROC(PFNGLBLENDFUNCIARBPROC, glBlendFunciARB);
GLEXT_PROC(PFNGLBLENDFUNCSEPARATEIARBPROC, glBlendFuncSeparateiARB);

// GL_ARB_draw_instanced
GLEXT_PROC(PFNGLDRAWARRAYSINSTANCEDARBPROC, glDrawArraysInstancedARB);
GLEXT_PROC(PFNGLDRAWELEMENTSINSTANCEDARBPROC, glDrawElementsInstancedARB);

// GL_ARB_fragment_program
GLEXT_PROC(PFNGLPROGRAMSTRINGARBPROC, glProgramStringARB);
GLEXT_PROC(PFNGLBINDPROGRAMARBPROC, glBindProgramARB);
GLEXT_PROC(PFNGLDELETEPROGRAMSARBPROC, glDeleteProgramsARB);
GLEXT_PROC(PFNGLGENPROGRAMSARBPROC, glGenProgramsARB);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETER4DARBPROC, glProgramEnvParameter4dARB);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETER4DVARBPROC, glProgramEnvParameter4dvARB);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETER4FARBPROC, glProgramEnvParameter4fARB);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETER4DARBPROC, glProgramLocalParameter4dARB);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETER4DVARBPROC, glProgramLocalParameter4dvARB);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETER4FARBPROC, glProgramLocalParameter4fARB);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETER4FVARBPROC, glProgramLocalParameter4fvARB);
GLEXT_PROC(PFNGLGETPROGRAMENVPARAMETERDVARBPROC, glGetProgramEnvParameterdvARB);
GLEXT_PROC(PFNGLGETPROGRAMENVPARAMETERFVARBPROC, glGetProgramEnvParameterfvARB);
GLEXT_PROC(PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC, glGetProgramLocalParameterdvARB);
GLEXT_PROC(PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC, glGetProgramLocalParameterfvARB);
GLEXT_PROC(PFNGLGETPROGRAMIVARBPROC, glGetProgramivARB);
GLEXT_PROC(PFNGLGETPROGRAMSTRINGARBPROC, glGetProgramStringARB);
GLEXT_PROC(PFNGLISPROGRAMARBPROC, glIsProgramARB);

// GL_ARB_geometry_shader4
GLEXT_PROC(PFNGLPROGRAMPARAMETERIARBPROC, glProgramParameteriARB);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTUREARBPROC, glFramebufferTextureARB);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURELAYERARBPROC, glFramebufferTextureLayerARB);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTUREFACEARBPROC, glFramebufferTextureFaceARB);

// GL_ARB_gl_spirv
GLEXT_PROC(PFNGLSPECIALIZESHADERARBPROC, glSpecializeShaderARB);

// GL_ARB_imaging
GLEXT_PROC(PFNGLCOLORTABLEPROC, glColorTable);
GLEXT_PROC(PFNGLCOLORTABLEPARAMETERFVPROC, glColorTableParameterfv);
GLEXT_PROC(PFNGLCOLORTABLEPARAMETERIVPROC, glColorTableParameteriv);
GLEXT_PROC(PFNGLCOPYCOLORTABLEPROC, glCopyColorTable);
GLEXT_PROC(PFNGLGETCOLORTABLEPROC, glGetColorTable);
GLEXT_PROC(PFNGLGETCOLORTABLEPARAMETERFVPROC, glGetColorTableParameterfv);
GLEXT_PROC(PFNGLGETCOLORTABLEPARAMETERIVPROC, glGetColorTableParameteriv);
GLEXT_PROC(PFNGLCOLORSUBTABLEPROC, glColorSubTable);
GLEXT_PROC(PFNGLCOPYCOLORSUBTABLEPROC, glCopyColorSubTable);
GLEXT_PROC(PFNGLCONVOLUTIONFILTER1DPROC, glConvolutionFilter1D);
GLEXT_PROC(PFNGLCONVOLUTIONFILTER2DPROC, glConvolutionFilter2D);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERFPROC, glConvolutionParameterf);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERFVPROC, glConvolutionParameterfv);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERIPROC, glConvolutionParameteri);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERIVPROC, glConvolutionParameteriv);
GLEXT_PROC(PFNGLCOPYCONVOLUTIONFILTER1DPROC, glCopyConvolutionFilter1D);
GLEXT_PROC(PFNGLCOPYCONVOLUTIONFILTER2DPROC, glCopyConvolutionFilter2D);
GLEXT_PROC(PFNGLGETCONVOLUTIONFILTERPROC, glGetConvolutionFilter);
GLEXT_PROC(PFNGLGETCONVOLUTIONPARAMETERFVPROC, glGetConvolutionParameterfv);
GLEXT_PROC(PFNGLGETCONVOLUTIONPARAMETERIVPROC, glGetConvolutionParameteriv);
GLEXT_PROC(PFNGLGETSEPARABLEFILTERPROC, glGetSeparableFilter);
GLEXT_PROC(PFNGLSEPARABLEFILTER2DPROC, glSeparableFilter2D);
GLEXT_PROC(PFNGLGETHISTOGRAMPROC, glGetHistogram);
GLEXT_PROC(PFNGLGETHISTOGRAMPARAMETERFVPROC, glGetHistogramParameterfv);
GLEXT_PROC(PFNGLGETHISTOGRAMPARAMETERIVPROC, glGetHistogramParameteriv);
GLEXT_PROC(PFNGLGETMINMAXPROC, glGetMinmax);
GLEXT_PROC(PFNGLGETMINMAXPARAMETERFVPROC, glGetMinmaxParameterfv);
GLEXT_PROC(PFNGLGETMINMAXPARAMETERIVPROC, glGetMinmaxParameteriv);
GLEXT_PROC(PFNGLHISTOGRAMPROC, glHistogram);
GLEXT_PROC(PFNGLMINMAXPROC, glMinmax);
GLEXT_PROC(PFNGLRESETHISTOGRAMPROC, glResetHistogram);
GLEXT_PROC(PFNGLRESETMINMAXPROC, glResetMinmax);

// GL_ARB_indirect_parameters
GLEXT_PROC(PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC, glMultiDrawArraysIndirectCountARB);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC, glMultiDrawElementsIndirectCountARB);

// GL_ARB_instanced_arrays
GLEXT_PROC(PFNGLVERTEXATTRIBDIVISORARBPROC, glVertexAttribDivisorARB);

// GL_ARB_matrix_palette
GLEXT_PROC(PFNGLCURRENTPALETTEMATRIXARBPROC, glCurrentPaletteMatrixARB);
GLEXT_PROC(PFNGLMATRIXINDEXUBVARBPROC, glMatrixIndexubvARB);
GLEXT_PROC(PFNGLMATRIXINDEXUSVARBPROC, glMatrixIndexusvARB);
GLEXT_PROC(PFNGLMATRIXINDEXUIVARBPROC, glMatrixIndexuivARB);
GLEXT_PROC(PFNGLMATRIXINDEXPOINTERARBPROC, glMatrixIndexPointerARB);

// GL_ARB_multisample
GLEXT_PROC(PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB);

// GL_ARB_multitexture
GLEXT_PROC(PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB);
GLEXT_PROC(PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1DARBPROC, glMultiTexCoord1dARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1DVARBPROC, glMultiTexCoord1dvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1IARBPROC, glMultiTexCoord1iARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1IVARBPROC, glMultiTexCoord1ivARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1SARBPROC, glMultiTexCoord1sARB);
GLEXT_PROC(PFNGLMULTITEXCOORD1SVARBPROC, glMultiTexCoord1svARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2DARBPROC, glMultiTexCoord2dARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2DVARBPROC, glMultiTexCoord2dvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2IARBPROC, glMultiTexCoord2iARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2IVARBPROC, glMultiTexCoord2ivARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2SARBPROC, glMultiTexCoord2sARB);
GLEXT_PROC(PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3DARBPROC, glMultiTexCoord3dARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3DVARBPROC, glMultiTexCoord3dvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3IARBPROC, glMultiTexCoord3iARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3IVARBPROC, glMultiTexCoord3ivARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3SARBPROC, glMultiTexCoord3sARB);
GLEXT_PROC(PFNGLMULTITEXCOORD3SVARBPROC, glMultiTexCoord3svARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4DARBPROC, glMultiTexCoord4dARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4DVARBPROC, glMultiTexCoord4dvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4IARBPROC, glMultiTexCoord4iARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4IVARBPROC, glMultiTexCoord4ivARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4SARBPROC, glMultiTexCoord4sARB);
GLEXT_PROC(PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB);

// GL_ARB_occlusion_query
GLEXT_PROC(PFNGLGENQUERIESARBPROC, glGenQueriesARB);
GLEXT_PROC(PFNGLDELETEQUERIESARBPROC, glDeleteQueriesARB);
GLEXT_PROC(PFNGLISQUERYARBPROC, glIsQueryARB);
GLEXT_PROC(PFNGLBEGINQUERYARBPROC, glBeginQueryARB);
GLEXT_PROC(PFNGLENDQUERYARBPROC, glEndQueryARB);
GLEXT_PROC(PFNGLGETQUERYIVARBPROC, glGetQueryivARB);
GLEXT_PROC(PFNGLGETQUERYOBJECTIVARBPROC, glGetQueryObjectivARB);
GLEXT_PROC(PFNGLGETQUERYOBJECTUIVARBPROC, glGetQueryObjectuivARB);

// GL_ARB_point_parameters
GLEXT_PROC(PFNGLPOINTPARAMETERFARBPROC, glPointParameterfARB);
GLEXT_PROC(PFNGLPOINTPARAMETERFVARBPROC, glPointParameterfvARB);

// GL_ARB_robustness
GLEXT_PROC(PFNGLGETGRAPHICSRESETSTATUSARBPROC, glGetGraphicsResetStatusARB);
GLEXT_PROC(PFNGLGETNTEXIMAGEARBPROC, glGetnTexImageARB);
GLEXT_PROC(PFNGLREADNPIXELSARBPROC, glReadnPixelsARB);
GLEXT_PROC(PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC, glGetnCompressedTexImageARB);
GLEXT_PROC(PFNGLGETNUNIFORMFVARBPROC, glGetnUniformfvARB);
GLEXT_PROC(PFNGLGETNUNIFORMIVARBPROC, glGetnUniformivARB);
GLEXT_PROC(PFNGLGETNUNIFORMUIVARBPROC, glGetnUniformuivARB);
GLEXT_PROC(PFNGLGETNUNIFORMDVARBPROC, glGetnUniformdvARB);
GLEXT_PROC(PFNGLGETNMAPDVARBPROC, glGetnMapdvARB);
GLEXT_PROC(PFNGLGETNMAPFVARBPROC, glGetnMapfvARB);
GLEXT_PROC(PFNGLGETNMAPIVARBPROC, glGetnMapivARB);
GLEXT_PROC(PFNGLGETNPIXELMAPFVARBPROC, glGetnPixelMapfvARB);
GLEXT_PROC(PFNGLGETNPIXELMAPUIVARBPROC, glGetnPixelMapuivARB);
GLEXT_PROC(PFNGLGETNPIXELMAPUSVARBPROC, glGetnPixelMapusvARB);
GLEXT_PROC(PFNGLGETNPOLYGONSTIPPLEARBPROC, glGetnPolygonStippleARB);
GLEXT_PROC(PFNGLGETNCOLORTABLEARBPROC, glGetnColorTableARB);
GLEXT_PROC(PFNGLGETNCONVOLUTIONFILTERARBPROC, glGetnConvolutionFilterARB);
GLEXT_PROC(PFNGLGETNSEPARABLEFILTERARBPROC, glGetnSeparableFilterARB);
GLEXT_PROC(PFNGLGETNHISTOGRAMARBPROC, glGetnHistogramARB);
GLEXT_PROC(PFNGLGETNMINMAXARBPROC, glGetnMinmaxARB);

// GL_ARB_sample_shading
GLEXT_PROC(PFNGLMINSAMPLESHADINGARBPROC, glMinSampleShadingARB);

// GL_ARB_shader_objects
GLEXT_PROC(PFNGLDELETEOBJECTARBPROC, glDeleteObjectARB);
GLEXT_PROC(PFNGLGETHANDLEARBPROC, glGetHandleARB);
GLEXT_PROC(PFNGLDETACHOBJECTARBPROC, glDetachObjectARB);
GLEXT_PROC(PFNGLCREATESHADEROBJECTARBPROC, glCreateShaderObjectARB);
GLEXT_PROC(PFNGLSHADERSOURCEARBPROC, glShaderSourceARB);
GLEXT_PROC(PFNGLCOMPILESHADERARBPROC, glCompileShaderARB);
GLEXT_PROC(PFNGLCREATEPROGRAMOBJECTARBPROC, glCreateProgramObjectARB);
GLEXT_PROC(PFNGLATTACHOBJECTARBPROC, glAttachObjectARB);
GLEXT_PROC(PFNGLLINKPROGRAMARBPROC, glLinkProgramARB);
GLEXT_PROC(PFNGLUSEPROGRAMOBJECTARBPROC, glUseProgramObjectARB);
GLEXT_PROC(PFNGLVALIDATEPROGRAMARBPROC, glValidateProgramARB);
GLEXT_PROC(PFNGLUNIFORM1FARBPROC, glUniform1fARB);
GLEXT_PROC(PFNGLUNIFORM2FARBPROC, glUniform2fARB);
GLEXT_PROC(PFNGLUNIFORM3FARBPROC, glUniform3fARB);
GLEXT_PROC(PFNGLUNIFORM4FARBPROC, glUniform4fARB);
GLEXT_PROC(PFNGLUNIFORM1IARBPROC, glUniform1iARB);
GLEXT_PROC(PFNGLUNIFORM2IARBPROC, glUniform2iARB);
GLEXT_PROC(PFNGLUNIFORM3IARBPROC, glUniform3iARB);
GLEXT_PROC(PFNGLUNIFORM4IARBPROC, glUniform4iARB);
GLEXT_PROC(PFNGLUNIFORM1FVARBPROC, glUniform1fvARB);
GLEXT_PROC(PFNGLUNIFORM2FVARBPROC, glUniform2fvARB);
GLEXT_PROC(PFNGLUNIFORM3FVARBPROC, glUniform3fvARB);
GLEXT_PROC(PFNGLUNIFORM4FVARBPROC, glUniform4fvARB);
GLEXT_PROC(PFNGLUNIFORM1IVARBPROC, glUniform1ivARB);
GLEXT_PROC(PFNGLUNIFORM2IVARBPROC, glUniform2ivARB);
GLEXT_PROC(PFNGLUNIFORM3IVARBPROC, glUniform3ivARB);
GLEXT_PROC(PFNGLUNIFORM4IVARBPROC, glUniform4ivARB);
GLEXT_PROC(PFNGLUNIFORMMATRIX2FVARBPROC, glUniformMatrix2fvARB);
GLEXT_PROC(PFNGLUNIFORMMATRIX3FVARBPROC, glUniformMatrix3fvARB);
GLEXT_PROC(PFNGLUNIFORMMATRIX4FVARBPROC, glUniformMatrix4fvARB);
GLEXT_PROC(PFNGLGETOBJECTPARAMETERFVARBPROC, glGetObjectParameterfvARB);
GLEXT_PROC(PFNGLGETOBJECTPARAMETERIVARBPROC, glGetObjectParameterivARB);
GLEXT_PROC(PFNGLGETINFOLOGARBPROC, glGetInfoLogARB);
GLEXT_PROC(PFNGLGETATTACHEDOBJECTSARBPROC, glGetAttachedObjectsARB);
GLEXT_PROC(PFNGLGETUNIFORMLOCATIONARBPROC, glGetUniformLocationARB);
GLEXT_PROC(PFNGLGETACTIVEUNIFORMARBPROC, glGetActiveUniformARB);
GLEXT_PROC(PFNGLGETUNIFORMFVARBPROC, glGetUniformfvARB);
GLEXT_PROC(PFNGLGETUNIFORMIVARBPROC, glGetUniformivARB);
GLEXT_PROC(PFNGLGETSHADERSOURCEARBPROC, glGetShaderSourceARB);

// GL_ARB_shading_language_include
GLEXT_PROC(PFNGLNAMEDSTRINGARBPROC, glNamedStringARB);
GLEXT_PROC(PFNGLDELETENAMEDSTRINGARBPROC, glDeleteNamedStringARB);
GLEXT_PROC(PFNGLCOMPILESHADERINCLUDEARBPROC, glCompileShaderIncludeARB);
GLEXT_PROC(PFNGLISNAMEDSTRINGARBPROC, glIsNamedStringARB);
GLEXT_PROC(PFNGLGETNAMEDSTRINGARBPROC, glGetNamedStringARB);
GLEXT_PROC(PFNGLGETNAMEDSTRINGIVARBPROC, glGetNamedStringivARB);

// GL_ARB_sparse_texture
GLEXT_PROC(PFNGLTEXPAGECOMMITMENTARBPROC, glTexPageCommitmentARB);

// GL_ARB_texture_buffer_object
GLEXT_PROC(PFNGLTEXBUFFERARBPROC, glTexBufferARB);

// GL_ARB_texture_compression
GLEXT_PROC(PFNGLCOMPRESSEDTEXIMAGE3DARBPROC, glCompressedTexImage3DARB);
GLEXT_PROC(PFNGLCOMPRESSEDTEXIMAGE2DARBPROC, glCompressedTexImage2DARB);
GLEXT_PROC(PFNGLCOMPRESSEDTEXIMAGE1DARBPROC, glCompressedTexImage1DARB);
GLEXT_PROC(PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC, glCompressedTexSubImage3DARB);
GLEXT_PROC(PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC, glCompressedTexSubImage2DARB);
GLEXT_PROC(PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC, glCompressedTexSubImage1DARB);
GLEXT_PROC(PFNGLGETCOMPRESSEDTEXIMAGEARBPROC, glGetCompressedTexImageARB);

// GL_ARB_transpose_matrix
GLEXT_PROC(PFNGLLOADTRANSPOSEMATRIXFARBPROC, glLoadTransposeMatrixfARB);
GLEXT_PROC(PFNGLLOADTRANSPOSEMATRIXDARBPROC, glLoadTransposeMatrixdARB);
GLEXT_PROC(PFNGLMULTTRANSPOSEMATRIXFARBPROC, glMultTransposeMatrixfARB);
GLEXT_PROC(PFNGLMULTTRANSPOSEMATRIXDARBPROC, glMultTransposeMatrixdARB);

// GL_ARB_vertex_blend
GLEXT_PROC(PFNGLWEIGHTBVARBPROC, glWeightbvARB);
GLEXT_PROC(PFNGLWEIGHTSVARBPROC, glWeightsvARB);
GLEXT_PROC(PFNGLWEIGHTIVARBPROC, glWeightivARB);
GLEXT_PROC(PFNGLWEIGHTFVARBPROC, glWeightfvARB);
GLEXT_PROC(PFNGLWEIGHTDVARBPROC, glWeightdvARB);
GLEXT_PROC(PFNGLWEIGHTUBVARBPROC, glWeightubvARB);
GLEXT_PROC(PFNGLWEIGHTUSVARBPROC, glWeightusvARB);
GLEXT_PROC(PFNGLWEIGHTUIVARBPROC, glWeightuivARB);
GLEXT_PROC(PFNGLWEIGHTPOINTERARBPROC, glWeightPointerARB);
GLEXT_PROC(PFNGLVERTEXBLENDARBPROC, glVertexBlendARB);

// GL_ARB_vertex_buffer_object
GLEXT_PROC(PFNGLBINDBUFFERARBPROC, glBindBufferARB);
GLEXT_PROC(PFNGLDELETEBUFFERSARBPROC, glDeleteBuffersARB);
GLEXT_PROC(PFNGLGENBUFFERSARBPROC, glGenBuffersARB);
GLEXT_PROC(PFNGLISBUFFERARBPROC, glIsBufferARB);
GLEXT_PROC(PFNGLBUFFERDATAARBPROC, glBufferDataARB);
GLEXT_PROC(PFNGLBUFFERSUBDATAARBPROC, glBufferSubDataARB);
GLEXT_PROC(PFNGLGETBUFFERSUBDATAARBPROC, glGetBufferSubDataARB);
GLEXT_PROC(PFNGLMAPBUFFERARBPROC, glMapBufferARB);
GLEXT_PROC(PFNGLUNMAPBUFFERARBPROC, glUnmapBufferARB);
GLEXT_PROC(PFNGLGETBUFFERPARAMETERIVARBPROC, glGetBufferParameterivARB);
GLEXT_PROC(PFNGLGETBUFFERPOINTERVARBPROC, glGetBufferPointervARB);

// GL_ARB_vertex_program
GLEXT_PROC(PFNGLVERTEXATTRIB1DARBPROC, glVertexAttrib1dARB);
GLEXT_PROC(PFNGLVERTEXATTRIB1DVARBPROC, glVertexAttrib1dvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB1FARBPROC, glVertexAttrib1fARB);
GLEXT_PROC(PFNGLVERTEXATTRIB1FVARBPROC, glVertexAttrib1fvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB1SARBPROC, glVertexAttrib1sARB);
GLEXT_PROC(PFNGLVERTEXATTRIB1SVARBPROC, glVertexAttrib1svARB);
GLEXT_PROC(PFNGLVERTEXATTRIB2DARBPROC, glVertexAttrib2dARB);
GLEXT_PROC(PFNGLVERTEXATTRIB2DVARBPROC, glVertexAttrib2dvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB2FARBPROC, glVertexAttrib2fARB);
GLEXT_PROC(PFNGLVERTEXATTRIB2FVARBPROC, glVertexAttrib2fvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB2SARBPROC, glVertexAttrib2sARB);
GLEXT_PROC(PFNGLVERTEXATTRIB2SVARBPROC, glVertexAttrib2svARB);
GLEXT_PROC(PFNGLVERTEXATTRIB3DARBPROC, glVertexAttrib3dARB);
GLEXT_PROC(PFNGLVERTEXATTRIB3DVARBPROC, glVertexAttrib3dvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB3FARBPROC, glVertexAttrib3fARB);
GLEXT_PROC(PFNGLVERTEXATTRIB3FVARBPROC, glVertexAttrib3fvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB3SARBPROC, glVertexAttrib3sARB);
GLEXT_PROC(PFNGLVERTEXATTRIB3SVARBPROC, glVertexAttrib3svARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NBVARBPROC, glVertexAttrib4NbvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NIVARBPROC, glVertexAttrib4NivARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NSVARBPROC, glVertexAttrib4NsvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUBARBPROC, glVertexAttrib4NubARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUBVARBPROC, glVertexAttrib4NubvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUIVARBPROC, glVertexAttrib4NuivARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4NUSVARBPROC, glVertexAttrib4NusvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4BVARBPROC, glVertexAttrib4bvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4DARBPROC, glVertexAttrib4dARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4DVARBPROC, glVertexAttrib4dvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4FARBPROC, glVertexAttrib4fARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4FVARBPROC, glVertexAttrib4fvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4IVARBPROC, glVertexAttrib4ivARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4SARBPROC, glVertexAttrib4sARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4SVARBPROC, glVertexAttrib4svARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4UBVARBPROC, glVertexAttrib4ubvARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4UIVARBPROC, glVertexAttrib4uivARB);
GLEXT_PROC(PFNGLVERTEXATTRIB4USVARBPROC, glVertexAttrib4usvARB);
GLEXT_PROC(PFNGLVERTEXATTRIBPOINTERARBPROC, glVertexAttribPointerARB);
GLEXT_PROC(PFNGLENABLEVERTEXATTRIBARRAYARBPROC, glEnableVertexAttribArrayARB);
GLEXT_PROC(PFNGLDISABLEVERTEXATTRIBARRAYARBPROC, glDisableVertexAttribArrayARB);
GLEXT_PROC(PFNGLGETVERTEXATTRIBDVARBPROC, glGetVertexAttribdvARB);
GLEXT_PROC(PFNGLGETVERTEXATTRIBFVARBPROC, glGetVertexAttribfvARB);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIVARBPROC, glGetVertexAttribivARB);
GLEXT_PROC(PFNGLGETVERTEXATTRIBPOINTERVARBPROC, glGetVertexAttribPointervARB);

// GL_ARB_vertex_shader
GLEXT_PROC(PFNGLBINDATTRIBLOCATIONARBPROC, glBindAttribLocationARB);
GLEXT_PROC(PFNGLGETACTIVEATTRIBARBPROC, glGetActiveAttribARB);
GLEXT_PROC(PFNGLGETATTRIBLOCATIONARBPROC, glGetAttribLocationARB);

// GL_ARB_window_pos
GLEXT_PROC(PFNGLWINDOWPOS2DARBPROC, glWindowPos2dARB);
GLEXT_PROC(PFNGLWINDOWPOS2DVARBPROC, glWindowPos2dvARB);
GLEXT_PROC(PFNGLWINDOWPOS2FARBPROC, glWindowPos2fARB);
GLEXT_PROC(PFNGLWINDOWPOS2FVARBPROC, glWindowPos2fvARB);
GLEXT_PROC(PFNGLWINDOWPOS2IARBPROC, glWindowPos2iARB);
GLEXT_PROC(PFNGLWINDOWPOS2IVARBPROC, glWindowPos2ivARB);
GLEXT_PROC(PFNGLWINDOWPOS2SARBPROC, glWindowPos2sARB);
GLEXT_PROC(PFNGLWINDOWPOS2SVARBPROC, glWindowPos2svARB);
GLEXT_PROC(PFNGLWINDOWPOS3DARBPROC, glWindowPos3dARB);
GLEXT_PROC(PFNGLWINDOWPOS3DVARBPROC, glWindowPos3dvARB);
GLEXT_PROC(PFNGLWINDOWPOS3FARBPROC, glWindowPos3fARB);
GLEXT_PROC(PFNGLWINDOWPOS3FVARBPROC, glWindowPos3fvARB);
GLEXT_PROC(PFNGLWINDOWPOS3IARBPROC, glWindowPos3iARB);
GLEXT_PROC(PFNGLWINDOWPOS3IVARBPROC, glWindowPos3ivARB);
GLEXT_PROC(PFNGLWINDOWPOS3SARBPROC, glWindowPos3sARB);
GLEXT_PROC(PFNGLWINDOWPOS3SVARBPROC, glWindowPos3svARB);

// GL_ARB_sparse_buffer
GLEXT_PROC(PFNGLBUFFERPAGECOMMITMENTARBPROC, glBufferPageCommitmentARB);
GLEXT_PROC(PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC, glNamedBufferPageCommitmentEXT);
GLEXT_PROC(PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC, glNamedBufferPageCommitmentARB);

// GL_ARB_ES3_2_compatibility
GLEXT_PROC(PFNGLPRIMITIVEBOUNDINGBOXARBPROC, glPrimitiveBoundingBoxARB);

// GL_ARB_gpu_shader_int64
GLEXT_PROC(PFNGLUNIFORM1I64ARBPROC, glUniform1i64ARB);
GLEXT_PROC(PFNGLUNIFORM2I64ARBPROC, glUniform2i64ARB);
GLEXT_PROC(PFNGLUNIFORM3I64ARBPROC, glUniform3i64ARB);
GLEXT_PROC(PFNGLUNIFORM4I64ARBPROC, glUniform4i64ARB);
GLEXT_PROC(PFNGLUNIFORM1I64VARBPROC, glUniform1i64vARB);
GLEXT_PROC(PFNGLUNIFORM2I64VARBPROC, glUniform2i64vARB);
GLEXT_PROC(PFNGLUNIFORM3I64VARBPROC, glUniform3i64vARB);
GLEXT_PROC(PFNGLUNIFORM4I64VARBPROC, glUniform4i64vARB);
GLEXT_PROC(PFNGLUNIFORM1UI64ARBPROC, glUniform1ui64ARB);
GLEXT_PROC(PFNGLUNIFORM2UI64ARBPROC, glUniform2ui64ARB);
GLEXT_PROC(PFNGLUNIFORM3UI64ARBPROC, glUniform3ui64ARB);
GLEXT_PROC(PFNGLUNIFORM4UI64ARBPROC, glUniform4ui64ARB);
GLEXT_PROC(PFNGLUNIFORM1UI64VARBPROC, glUniform1ui64vARB);
GLEXT_PROC(PFNGLUNIFORM2UI64VARBPROC, glUniform2ui64vARB);
GLEXT_PROC(PFNGLUNIFORM3UI64VARBPROC, glUniform3ui64vARB);
GLEXT_PROC(PFNGLUNIFORM4UI64VARBPROC, glUniform4ui64vARB);
GLEXT_PROC(PFNGLGETUNIFORMI64VARBPROC, glGetUniformi64vARB);
GLEXT_PROC(PFNGLGETUNIFORMUI64VARBPROC, glGetUniformui64vARB);
GLEXT_PROC(PFNGLGETNUNIFORMI64VARBPROC, glGetnUniformi64vARB);
GLEXT_PROC(PFNGLGETNUNIFORMUI64VARBPROC, glGetnUniformui64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1I64ARBPROC, glProgramUniform1i64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2I64ARBPROC, glProgramUniform2i64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3I64ARBPROC, glProgramUniform3i64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4I64ARBPROC, glProgramUniform4i64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1I64VARBPROC, glProgramUniform1i64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2I64VARBPROC, glProgramUniform2i64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3I64VARBPROC, glProgramUniform3i64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4I64VARBPROC, glProgramUniform4i64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UI64ARBPROC, glProgramUniform1ui64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UI64ARBPROC, glProgramUniform2ui64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UI64ARBPROC, glProgramUniform3ui64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UI64ARBPROC, glProgramUniform4ui64ARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UI64VARBPROC, glProgramUniform1ui64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UI64VARBPROC, glProgramUniform2ui64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UI64VARBPROC, glProgramUniform3ui64vARB);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UI64VARBPROC, glProgramUniform4ui64vARB);

// GL_ARB_parallel_shader_compile
GLEXT_PROC(PFNGLMAXSHADERCOMPILERTHREADSARBPROC, glMaxShaderCompilerThreadsARB);

// GL_ARB_sample_locations
GLEXT_PROC(PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC, glFramebufferSampleLocationsfvARB);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC, glNamedFramebufferSampleLocationsfvARB);
GLEXT_PROC(PFNGLEVALUATEDEPTHVALUESARBPROC, glEvaluateDepthValuesARB);

// ---------------------------------------------------------------------------------
// OES
// ---------------------------------------------------------------------------------

// GL_OES_byte_coordinates
GLEXT_PROC(PFNGLMULTITEXCOORD1BOESPROC, glMultiTexCoord1bOES);
GLEXT_PROC(PFNGLMULTITEXCOORD1BVOESPROC, glMultiTexCoord1bvOES);
GLEXT_PROC(PFNGLMULTITEXCOORD2BOESPROC, glMultiTexCoord2bOES);
GLEXT_PROC(PFNGLMULTITEXCOORD2BVOESPROC, glMultiTexCoord2bvOES);
GLEXT_PROC(PFNGLMULTITEXCOORD3BOESPROC, glMultiTexCoord3bOES);
GLEXT_PROC(PFNGLMULTITEXCOORD3BVOESPROC, glMultiTexCoord3bvOES);
GLEXT_PROC(PFNGLMULTITEXCOORD4BOESPROC, glMultiTexCoord4bOES);
GLEXT_PROC(PFNGLMULTITEXCOORD4BVOESPROC, glMultiTexCoord4bvOES);
GLEXT_PROC(PFNGLTEXCOORD1BOESPROC, glTexCoord1bOES);
GLEXT_PROC(PFNGLTEXCOORD1BVOESPROC, glTexCoord1bvOES);
GLEXT_PROC(PFNGLTEXCOORD2BOESPROC, glTexCoord2bOES);
GLEXT_PROC(PFNGLTEXCOORD2BVOESPROC, glTexCoord2bvOES);
GLEXT_PROC(PFNGLTEXCOORD3BOESPROC, glTexCoord3bOES);
GLEXT_PROC(PFNGLTEXCOORD3BVOESPROC, glTexCoord3bvOES);
GLEXT_PROC(PFNGLTEXCOORD4BOESPROC, glTexCoord4bOES);
GLEXT_PROC(PFNGLTEXCOORD4BVOESPROC, glTexCoord4bvOES);
GLEXT_PROC(PFNGLVERTEX2BOESPROC, glVertex2bOES);
GLEXT_PROC(PFNGLVERTEX2BVOESPROC, glVertex2bvOES);
GLEXT_PROC(PFNGLVERTEX3BOESPROC, glVertex3bOES);
GLEXT_PROC(PFNGLVERTEX3BVOESPROC, glVertex3bvOES);
GLEXT_PROC(PFNGLVERTEX4BOESPROC, glVertex4bOES);
GLEXT_PROC(PFNGLVERTEX4BVOESPROC, glVertex4bvOES);

// GL_OES_fixed_point
GLEXT_PROC(PFNGLALPHAFUNCXOESPROC, glAlphaFuncxOES);
GLEXT_PROC(PFNGLCLEARCOLORXOESPROC, glClearColorxOES);
GLEXT_PROC(PFNGLCLEARDEPTHXOESPROC, glClearDepthxOES);
GLEXT_PROC(PFNGLCLIPPLANEXOESPROC, glClipPlanexOES);
GLEXT_PROC(PFNGLCOLOR4XOESPROC, glColor4xOES);
GLEXT_PROC(PFNGLDEPTHRANGEXOESPROC, glDepthRangexOES);
GLEXT_PROC(PFNGLFOGXOESPROC, glFogxOES);
GLEXT_PROC(PFNGLFOGXVOESPROC, glFogxvOES);
GLEXT_PROC(PFNGLFRUSTUMXOESPROC, glFrustumxOES);
GLEXT_PROC(PFNGLGETCLIPPLANEXOESPROC, glGetClipPlanexOES);
GLEXT_PROC(PFNGLGETFIXEDVOESPROC, glGetFixedvOES);
GLEXT_PROC(PFNGLGETTEXENVXVOESPROC, glGetTexEnvxvOES);
GLEXT_PROC(PFNGLGETTEXPARAMETERXVOESPROC, glGetTexParameterxvOES);
GLEXT_PROC(PFNGLLIGHTMODELXOESPROC, glLightModelxOES);
GLEXT_PROC(PFNGLLIGHTMODELXVOESPROC, glLightModelxvOES);
GLEXT_PROC(PFNGLLIGHTXOESPROC, glLightxOES);
GLEXT_PROC(PFNGLLIGHTXVOESPROC, glLightxvOES);
GLEXT_PROC(PFNGLLINEWIDTHXOESPROC, glLineWidthxOES);
GLEXT_PROC(PFNGLLOADMATRIXXOESPROC, glLoadMatrixxOES);
GLEXT_PROC(PFNGLMATERIALXOESPROC, glMaterialxOES);
GLEXT_PROC(PFNGLMATERIALXVOESPROC, glMaterialxvOES);
GLEXT_PROC(PFNGLMULTMATRIXXOESPROC, glMultMatrixxOES);
GLEXT_PROC(PFNGLMULTITEXCOORD4XOESPROC, glMultiTexCoord4xOES);
GLEXT_PROC(PFNGLNORMAL3XOESPROC, glNormal3xOES);
GLEXT_PROC(PFNGLORTHOXOESPROC, glOrthoxOES);
GLEXT_PROC(PFNGLPOINTPARAMETERXVOESPROC, glPointParameterxvOES);
GLEXT_PROC(PFNGLPOINTSIZEXOESPROC, glPointSizexOES);
GLEXT_PROC(PFNGLPOLYGONOFFSETXOESPROC, glPolygonOffsetxOES);
GLEXT_PROC(PFNGLROTATEXOESPROC, glRotatexOES);
GLEXT_PROC(PFNGLSCALEXOESPROC, glScalexOES);
GLEXT_PROC(PFNGLTEXENVXOESPROC, glTexEnvxOES);
GLEXT_PROC(PFNGLTEXENVXVOESPROC, glTexEnvxvOES);
GLEXT_PROC(PFNGLTEXPARAMETERXOESPROC, glTexParameterxOES);
GLEXT_PROC(PFNGLTEXPARAMETERXVOESPROC, glTexParameterxvOES);
GLEXT_PROC(PFNGLTRANSLATEXOESPROC, glTranslatexOES);
GLEXT_PROC(PFNGLACCUMXOESPROC, glAccumxOES);
GLEXT_PROC(PFNGLBITMAPXOESPROC, glBitmapxOES);
GLEXT_PROC(PFNGLBLENDCOLORXOESPROC, glBlendColorxOES);
GLEXT_PROC(PFNGLCLEARACCUMXOESPROC, glClearAccumxOES);
GLEXT_PROC(PFNGLCOLOR3XOESPROC, glColor3xOES);
GLEXT_PROC(PFNGLCOLOR3XVOESPROC, glColor3xvOES);
GLEXT_PROC(PFNGLCOLOR4XVOESPROC, glColor4xvOES);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERXOESPROC, glConvolutionParameterxOES);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERXVOESPROC, glConvolutionParameterxvOES);
GLEXT_PROC(PFNGLEVALCOORD1XOESPROC, glEvalCoord1xOES);
GLEXT_PROC(PFNGLEVALCOORD1XVOESPROC, glEvalCoord1xvOES);
GLEXT_PROC(PFNGLEVALCOORD2XOESPROC, glEvalCoord2xOES);
GLEXT_PROC(PFNGLEVALCOORD2XVOESPROC, glEvalCoord2xvOES);
GLEXT_PROC(PFNGLFEEDBACKBUFFERXOESPROC, glFeedbackBufferxOES);
GLEXT_PROC(PFNGLGETCONVOLUTIONPARAMETERXVOESPROC, glGetConvolutionParameterxvOES);
GLEXT_PROC(PFNGLGETHISTOGRAMPARAMETERXVOESPROC, glGetHistogramParameterxvOES);
GLEXT_PROC(PFNGLGETLIGHTXOESPROC, glGetLightxOES);
GLEXT_PROC(PFNGLGETMAPXVOESPROC, glGetMapxvOES);
GLEXT_PROC(PFNGLGETMATERIALXOESPROC, glGetMaterialxOES);
GLEXT_PROC(PFNGLGETPIXELMAPXVPROC, glGetPixelMapxv);
GLEXT_PROC(PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES);
GLEXT_PROC(PFNGLGETTEXLEVELPARAMETERXVOESPROC, glGetTexLevelParameterxvOES);
GLEXT_PROC(PFNGLINDEXXOESPROC, glIndexxOES);
GLEXT_PROC(PFNGLINDEXXVOESPROC, glIndexxvOES);
GLEXT_PROC(PFNGLLOADTRANSPOSEMATRIXXOESPROC, glLoadTransposeMatrixxOES);
GLEXT_PROC(PFNGLMAP1XOESPROC, glMap1xOES);
GLEXT_PROC(PFNGLMAP2XOESPROC, glMap2xOES);
GLEXT_PROC(PFNGLMAPGRID1XOESPROC, glMapGrid1xOES);
GLEXT_PROC(PFNGLMAPGRID2XOESPROC, glMapGrid2xOES);
GLEXT_PROC(PFNGLMULTTRANSPOSEMATRIXXOESPROC, glMultTransposeMatrixxOES);
GLEXT_PROC(PFNGLMULTITEXCOORD1XOESPROC, glMultiTexCoord1xOES);
GLEXT_PROC(PFNGLMULTITEXCOORD1XVOESPROC, glMultiTexCoord1xvOES);
GLEXT_PROC(PFNGLMULTITEXCOORD2XOESPROC, glMultiTexCoord2xOES);
GLEXT_PROC(PFNGLMULTITEXCOORD2XVOESPROC, glMultiTexCoord2xvOES);
GLEXT_PROC(PFNGLMULTITEXCOORD3XOESPROC, glMultiTexCoord3xOES);
GLEXT_PROC(PFNGLMULTITEXCOORD3XVOESPROC, glMultiTexCoord3xvOES);
GLEXT_PROC(PFNGLMULTITEXCOORD4XVOESPROC, glMultiTexCoord4xvOES);
GLEXT_PROC(PFNGLNORMAL3XVOESPROC, glNormal3xvOES);
GLEXT_PROC(PFNGLPASSTHROUGHXOESPROC, glPassThroughxOES);
GLEXT_PROC(PFNGLPIXELMAPXPROC, glPixelMapx);
GLEXT_PROC(PFNGLPIXELSTOREXPROC, glPixelStorex);
GLEXT_PROC(PFNGLPIXELTRANSFERXOESPROC, glPixelTransferxOES);
GLEXT_PROC(PFNGLPIXELZOOMXOESPROC, glPixelZoomxOES);
GLEXT_PROC(PFNGLPRIORITIZETEXTURESXOESPROC, glPrioritizeTexturesxOES);
GLEXT_PROC(PFNGLRASTERPOS2XOESPROC, glRasterPos2xOES);
GLEXT_PROC(PFNGLRASTERPOS2XVOESPROC, glRasterPos2xvOES);
GLEXT_PROC(PFNGLRASTERPOS3XOESPROC, glRasterPos3xOES);
GLEXT_PROC(PFNGLRASTERPOS3XVOESPROC, glRasterPos3xvOES);
GLEXT_PROC(PFNGLRASTERPOS4XOESPROC, glRasterPos4xOES);
GLEXT_PROC(PFNGLRASTERPOS4XVOESPROC, glRasterPos4xvOES);
GLEXT_PROC(PFNGLRECTXOESPROC, glRectxOES);
GLEXT_PROC(PFNGLRECTXVOESPROC, glRectxvOES);
GLEXT_PROC(PFNGLTEXCOORD1XOESPROC, glTexCoord1xOES);
GLEXT_PROC(PFNGLTEXCOORD1XVOESPROC, glTexCoord1xvOES);
GLEXT_PROC(PFNGLTEXCOORD2XOESPROC, glTexCoord2xOES);
GLEXT_PROC(PFNGLTEXCOORD2XVOESPROC, glTexCoord2xvOES);
GLEXT_PROC(PFNGLTEXCOORD3XOESPROC, glTexCoord3xOES);
GLEXT_PROC(PFNGLTEXCOORD3XVOESPROC, glTexCoord3xvOES);
GLEXT_PROC(PFNGLTEXCOORD4XOESPROC, glTexCoord4xOES);
GLEXT_PROC(PFNGLTEXCOORD4XVOESPROC, glTexCoord4xvOES);
GLEXT_PROC(PFNGLTEXGENXOESPROC, glTexGenxOES);
GLEXT_PROC(PFNGLTEXGENXVOESPROC, glTexGenxvOES);
GLEXT_PROC(PFNGLVERTEX2XOESPROC, glVertex2xOES);
GLEXT_PROC(PFNGLVERTEX2XVOESPROC, glVertex2xvOES);
GLEXT_PROC(PFNGLVERTEX3XOESPROC, glVertex3xOES);
GLEXT_PROC(PFNGLVERTEX3XVOESPROC, glVertex3xvOES);
GLEXT_PROC(PFNGLVERTEX4XOESPROC, glVertex4xOES);
GLEXT_PROC(PFNGLVERTEX4XVOESPROC, glVertex4xvOES);

// GL_OES_query_matrix
GLEXT_PROC(PFNGLQUERYMATRIXXOESPROC, glQueryMatrixxOES);

// GL_OES_single_precision
GLEXT_PROC(PFNGLCLEARDEPTHFOESPROC, glClearDepthfOES);
GLEXT_PROC(PFNGLCLIPPLANEFOESPROC, glClipPlanefOES);
GLEXT_PROC(PFNGLDEPTHRANGEFOESPROC, glDepthRangefOES);
GLEXT_PROC(PFNGLFRUSTUMFOESPROC, glFrustumfOES);
GLEXT_PROC(PFNGLGETCLIPPLANEFOESPROC, glGetClipPlanefOES);
GLEXT_PROC(PFNGLORTHOFOESPROC, glOrthofOES);

// ---------------------------------------------------------------------------------
// 3DFX
// ---------------------------------------------------------------------------------

// GL_3DFX_tbuffer
GLEXT_PROC(PFNGLTBUFFERMASK3DFXPROC, glTbufferMask3DFX);

// ---------------------------------------------------------------------------------
// AMD
// ---------------------------------------------------------------------------------

// GL_AMD_debug_output
GLEXT_PROC(PFNGLDEBUGMESSAGEENABLEAMDPROC, glDebugMessageEnableAMD);
GLEXT_PROC(PFNGLDEBUGMESSAGEINSERTAMDPROC, glDebugMessageInsertAMD);
GLEXT_PROC(PFNGLDEBUGMESSAGECALLBACKAMDPROC, glDebugMessageCallbackAMD);
GLEXT_PROC(PFNGLGETDEBUGMESSAGELOGAMDPROC, glGetDebugMessageLogAMD);

// GL_AMD_draw_buffers_blend
GLEXT_PROC(PFNGLBLENDFUNCINDEXEDAMDPROC, glBlendFuncIndexedAMD);
GLEXT_PROC(PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC, glBlendFuncSeparateIndexedAMD);
GLEXT_PROC(PFNGLBLENDEQUATIONINDEXEDAMDPROC, glBlendEquationIndexedAMD);
GLEXT_PROC(PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC, glBlendEquationSeparateIndexedAMD);

// GL_AMD_framebuffer_multisample_advanced
GLEXT_PROC(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC, glRenderbufferStorageMultisampleAdvancedAMD);
GLEXT_PROC(PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC, glNamedRenderbufferStorageMultisampleAdvancedAMD);

// GL_AMD_framebuffer_sample_positions
GLEXT_PROC(PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC, glFramebufferSamplePositionsfvAMD);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC, glNamedFramebufferSamplePositionsfvAMD);
GLEXT_PROC(PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC, glGetFramebufferParameterfvAMD);
GLEXT_PROC(PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC, glGetNamedFramebufferParameterfvAMD);

// GL_AMD_gpu_shader_int64
GLEXT_PROC(PFNGLUNIFORM1I64NVPROC, glUniform1i64NV);
GLEXT_PROC(PFNGLUNIFORM2I64NVPROC, glUniform2i64NV);
GLEXT_PROC(PFNGLUNIFORM3I64NVPROC, glUniform3i64NV);
GLEXT_PROC(PFNGLUNIFORM4I64NVPROC, glUniform4i64NV);
GLEXT_PROC(PFNGLUNIFORM1I64VNVPROC, glUniform1i64vNV);
GLEXT_PROC(PFNGLUNIFORM2I64VNVPROC, glUniform2i64vNV);
GLEXT_PROC(PFNGLUNIFORM3I64VNVPROC, glUniform3i64vNV);
GLEXT_PROC(PFNGLUNIFORM4I64VNVPROC, glUniform4i64vNV);
GLEXT_PROC(PFNGLUNIFORM1UI64NVPROC, glUniform1ui64NV);
GLEXT_PROC(PFNGLUNIFORM2UI64NVPROC, glUniform2ui64NV);
GLEXT_PROC(PFNGLUNIFORM3UI64NVPROC, glUniform3ui64NV);
GLEXT_PROC(PFNGLUNIFORM4UI64NVPROC, glUniform4ui64NV);
GLEXT_PROC(PFNGLUNIFORM1UI64VNVPROC, glUniform1ui64vNV);
GLEXT_PROC(PFNGLUNIFORM2UI64VNVPROC, glUniform2ui64vNV);
GLEXT_PROC(PFNGLUNIFORM3UI64VNVPROC, glUniform3ui64vNV);
GLEXT_PROC(PFNGLUNIFORM4UI64VNVPROC, glUniform4ui64vNV);
GLEXT_PROC(PFNGLGETUNIFORMI64VNVPROC, glGetUniformi64vNV);
GLEXT_PROC(PFNGLGETUNIFORMUI64VNVPROC, glGetUniformui64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1I64NVPROC, glProgramUniform1i64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2I64NVPROC, glProgramUniform2i64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3I64NVPROC, glProgramUniform3i64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4I64NVPROC, glProgramUniform4i64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1I64VNVPROC, glProgramUniform1i64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2I64VNVPROC, glProgramUniform2i64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3I64VNVPROC, glProgramUniform3i64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4I64VNVPROC, glProgramUniform4i64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UI64NVPROC, glProgramUniform1ui64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UI64NVPROC, glProgramUniform2ui64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UI64NVPROC, glProgramUniform3ui64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UI64NVPROC, glProgramUniform4ui64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UI64VNVPROC, glProgramUniform1ui64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UI64VNVPROC, glProgramUniform2ui64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UI64VNVPROC, glProgramUniform3ui64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UI64VNVPROC, glProgramUniform4ui64vNV);

// GL_AMD_interleaved_elements
GLEXT_PROC(PFNGLVERTEXATTRIBPARAMETERIAMDPROC, glVertexAttribParameteriAMD);

// GL_AMD_multi_draw_indirect
GLEXT_PROC(PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC, glMultiDrawArraysIndirectAMD);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC, glMultiDrawElementsIndirectAMD);

// GL_AMD_name_gen_delete
GLEXT_PROC(PFNGLGENNAMESAMDPROC, glGenNamesAMD);
GLEXT_PROC(PFNGLDELETENAMESAMDPROC, glDeleteNamesAMD);
GLEXT_PROC(PFNGLISNAMEAMDPROC, glIsNameAMD);

// GL_AMD_occlusion_query_event
GLEXT_PROC(PFNGLQUERYOBJECTPARAMETERUIAMDPROC, glQueryObjectParameteruiAMD);

// GL_AMD_performance_monitor
GLEXT_PROC(PFNGLGETPERFMONITORGROUPSAMDPROC, glGetPerfMonitorGroupsAMD);
GLEXT_PROC(PFNGLGETPERFMONITORCOUNTERSAMDPROC, glGetPerfMonitorCountersAMD);
GLEXT_PROC(PFNGLGETPERFMONITORGROUPSTRINGAMDPROC, glGetPerfMonitorGroupStringAMD);
GLEXT_PROC(PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC, glGetPerfMonitorCounterStringAMD);
GLEXT_PROC(PFNGLGETPERFMONITORCOUNTERINFOAMDPROC, glGetPerfMonitorCounterInfoAMD);
GLEXT_PROC(PFNGLGENPERFMONITORSAMDPROC, glGenPerfMonitorsAMD);
GLEXT_PROC(PFNGLDELETEPERFMONITORSAMDPROC, glDeletePerfMonitorsAMD);
GLEXT_PROC(PFNGLSELECTPERFMONITORCOUNTERSAMDPROC, glSelectPerfMonitorCountersAMD);
GLEXT_PROC(PFNGLBEGINPERFMONITORAMDPROC, glBeginPerfMonitorAMD);
GLEXT_PROC(PFNGLENDPERFMONITORAMDPROC, glEndPerfMonitorAMD);
GLEXT_PROC(PFNGLGETPERFMONITORCOUNTERDATAAMDPROC, glGetPerfMonitorCounterDataAMD);

// GL_AMD_sample_positions
GLEXT_PROC(PFNGLSETMULTISAMPLEFVAMDPROC, glSetMultisamplefvAMD);

// GL_AMD_sparse_texture
GLEXT_PROC(PFNGLTEXSTORAGESPARSEAMDPROC, glTexStorageSparseAMD);
GLEXT_PROC(PFNGLTEXTURESTORAGESPARSEAMDPROC, glTextureStorageSparseAMD);

// GL_AMD_stencil_operation_extended
GLEXT_PROC(PFNGLSTENCILOPVALUEAMDPROC, glStencilOpValueAMD);

// GL_AMD_vertex_shader_tessellator
GLEXT_PROC(PFNGLTESSELLATIONFACTORAMDPROC, glTessellationFactorAMD);
GLEXT_PROC(PFNGLTESSELLATIONMODEAMDPROC, glTessellationModeAMD);

// ---------------------------------------------------------------------------------
// APPLE
// ---------------------------------------------------------------------------------

// GL_APPLE_element_array
GLEXT_PROC(PFNGLELEMENTPOINTERAPPLEPROC, glElementPointerAPPLE);
GLEXT_PROC(PFNGLDRAWELEMENTARRAYAPPLEPROC, glDrawElementArrayAPPLE);
GLEXT_PROC(PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC, glDrawRangeElementArrayAPPLE);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC, glMultiDrawElementArrayAPPLE);
GLEXT_PROC(PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC, glMultiDrawRangeElementArrayAPPLE);

// GL_APPLE_fence
GLEXT_PROC(PFNGLGENFENCESAPPLEPROC, glGenFencesAPPLE);
GLEXT_PROC(PFNGLDELETEFENCESAPPLEPROC, glDeleteFencesAPPLE);
GLEXT_PROC(PFNGLSETFENCEAPPLEPROC, glSetFenceAPPLE);
GLEXT_PROC(PFNGLISFENCEAPPLEPROC, glIsFenceAPPLE);
GLEXT_PROC(PFNGLTESTFENCEAPPLEPROC, glTestFenceAPPLE);
GLEXT_PROC(PFNGLFINISHFENCEAPPLEPROC, glFinishFenceAPPLE);
GLEXT_PROC(PFNGLTESTOBJECTAPPLEPROC, glTestObjectAPPLE);
GLEXT_PROC(PFNGLFINISHOBJECTAPPLEPROC, glFinishObjectAPPLE);

// GL_APPLE_flush_buffer_range
GLEXT_PROC(PFNGLBUFFERPARAMETERIAPPLEPROC, glBufferParameteriAPPLE);
GLEXT_PROC(PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC, glFlushMappedBufferRangeAPPLE);

// GL_APPLE_object_purgeable
GLEXT_PROC(PFNGLOBJECTPURGEABLEAPPLEPROC, glObjectPurgeableAPPLE);
GLEXT_PROC(PFNGLOBJECTUNPURGEABLEAPPLEPROC, glObjectUnpurgeableAPPLE);
GLEXT_PROC(PFNGLGETOBJECTPARAMETERIVAPPLEPROC, glGetObjectParameterivAPPLE);

// GL_APPLE_texture_range
GLEXT_PROC(PFNGLTEXTURERANGEAPPLEPROC, glTextureRangeAPPLE);
GLEXT_PROC(PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC, glGetTexParameterPointervAPPLE);

// GL_APPLE_vertex_array_object
GLEXT_PROC(PFNGLBINDVERTEXARRAYAPPLEPROC, glBindVertexArrayAPPLE);
GLEXT_PROC(PFNGLDELETEVERTEXARRAYSAPPLEPROC, glDeleteVertexArraysAPPLE);
GLEXT_PROC(PFNGLGENVERTEXARRAYSAPPLEPROC, glGenVertexArraysAPPLE);
GLEXT_PROC(PFNGLISVERTEXARRAYAPPLEPROC, glIsVertexArrayAPPLE);

// GL_APPLE_vertex_array_range
GLEXT_PROC(PFNGLVERTEXARRAYRANGEAPPLEPROC, glVertexArrayRangeAPPLE);
GLEXT_PROC(PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC, glFlushVertexArrayRangeAPPLE);
GLEXT_PROC(PFNGLVERTEXARRAYPARAMETERIAPPLEPROC, glVertexArrayParameteriAPPLE);

// GL_APPLE_vertex_program_evaluators
GLEXT_PROC(PFNGLENABLEVERTEXATTRIBAPPLEPROC, glEnableVertexAttribAPPLE);
GLEXT_PROC(PFNGLDISABLEVERTEXATTRIBAPPLEPROC, glDisableVertexAttribAPPLE);
GLEXT_PROC(PFNGLISVERTEXATTRIBENABLEDAPPLEPROC, glIsVertexAttribEnabledAPPLE);
GLEXT_PROC(PFNGLMAPVERTEXATTRIB1DAPPLEPROC, glMapVertexAttrib1dAPPLE);
GLEXT_PROC(PFNGLMAPVERTEXATTRIB1FAPPLEPROC, glMapVertexAttrib1fAPPLE);
GLEXT_PROC(PFNGLMAPVERTEXATTRIB2DAPPLEPROC, glMapVertexAttrib2dAPPLE);
GLEXT_PROC(PFNGLMAPVERTEXATTRIB2FAPPLEPROC, glMapVertexAttrib2fAPPLE);

// ---------------------------------------------------------------------------------
// ATI
// ---------------------------------------------------------------------------------

// GL_ATI_draw_buffers
GLEXT_PROC(PFNGLDRAWBUFFERSATIPROC, glDrawBuffersATI);

// GL_ATI_element_array
GLEXT_PROC(PFNGLELEMENTPOINTERATIPROC, glElementPointerATI);
GLEXT_PROC(PFNGLDRAWELEMENTARRAYATIPROC, glDrawElementArrayATI);
GLEXT_PROC(PFNGLDRAWRANGEELEMENTARRAYATIPROC, glDrawRangeElementArrayATI);

// GL_ATI_envmap_bumpmap
GLEXT_PROC(PFNGLTEXBUMPPARAMETERIVATIPROC, glTexBumpParameterivATI);
GLEXT_PROC(PFNGLTEXBUMPPARAMETERFVATIPROC, glTexBumpParameterfvATI);
GLEXT_PROC(PFNGLGETTEXBUMPPARAMETERIVATIPROC, glGetTexBumpParameterivATI);
GLEXT_PROC(PFNGLGETTEXBUMPPARAMETERFVATIPROC, glGetTexBumpParameterfvATI);

// GL_ATI_fragment_shader
GLEXT_PROC(PFNGLGENFRAGMENTSHADERSATIPROC, glGenFragmentShadersATI);
GLEXT_PROC(PFNGLBINDFRAGMENTSHADERATIPROC, glBindFragmentShaderATI);
GLEXT_PROC(PFNGLDELETEFRAGMENTSHADERATIPROC, glDeleteFragmentShaderATI);
GLEXT_PROC(PFNGLBEGINFRAGMENTSHADERATIPROC, glBeginFragmentShaderATI);
GLEXT_PROC(PFNGLENDFRAGMENTSHADERATIPROC, glEndFragmentShaderATI);
GLEXT_PROC(PFNGLPASSTEXCOORDATIPROC, glPassTexCoordATI);
GLEXT_PROC(PFNGLSAMPLEMAPATIPROC, glSampleMapATI);
GLEXT_PROC(PFNGLCOLORFRAGMENTOP1ATIPROC, glColorFragmentOp1ATI);
GLEXT_PROC(PFNGLCOLORFRAGMENTOP2ATIPROC, glColorFragmentOp2ATI);
GLEXT_PROC(PFNGLCOLORFRAGMENTOP3ATIPROC, glColorFragmentOp3ATI);
GLEXT_PROC(PFNGLALPHAFRAGMENTOP1ATIPROC, glAlphaFragmentOp1ATI);
GLEXT_PROC(PFNGLALPHAFRAGMENTOP2ATIPROC, glAlphaFragmentOp2ATI);
GLEXT_PROC(PFNGLALPHAFRAGMENTOP3ATIPROC, glAlphaFragmentOp3ATI);
GLEXT_PROC(PFNGLSETFRAGMENTSHADERCONSTANTATIPROC, glSetFragmentShaderConstantATI);

// GL_ATI_map_object_buffer
GLEXT_PROC(PFNGLMAPOBJECTBUFFERATIPROC, glMapObjectBufferATI);
GLEXT_PROC(PFNGLUNMAPOBJECTBUFFERATIPROC, glUnmapObjectBufferATI);

// GL_ATI_pn_triangles
GLEXT_PROC(PFNGLPNTRIANGLESIATIPROC, glPNTrianglesiATI);
GLEXT_PROC(PFNGLPNTRIANGLESFATIPROC, glPNTrianglesfATI);

// GL_ATI_separate_stencil
GLEXT_PROC(PFNGLSTENCILOPSEPARATEATIPROC, glStencilOpSeparateATI);
GLEXT_PROC(PFNGLSTENCILFUNCSEPARATEATIPROC, glStencilFuncSeparateATI);

// GL_ATI_vertex_array_object
GLEXT_PROC(PFNGLNEWOBJECTBUFFERATIPROC, glNewObjectBufferATI);
GLEXT_PROC(PFNGLISOBJECTBUFFERATIPROC, glIsObjectBufferATI);
GLEXT_PROC(PFNGLUPDATEOBJECTBUFFERATIPROC, glUpdateObjectBufferATI);
GLEXT_PROC(PFNGLGETOBJECTBUFFERFVATIPROC, glGetObjectBufferfvATI);
GLEXT_PROC(PFNGLGETOBJECTBUFFERIVATIPROC, glGetObjectBufferivATI);
GLEXT_PROC(PFNGLFREEOBJECTBUFFERATIPROC, glFreeObjectBufferATI);
GLEXT_PROC(PFNGLARRAYOBJECTATIPROC, glArrayObjectATI);
GLEXT_PROC(PFNGLGETARRAYOBJECTFVATIPROC, glGetArrayObjectfvATI);
GLEXT_PROC(PFNGLGETARRAYOBJECTIVATIPROC, glGetArrayObjectivATI);
GLEXT_PROC(PFNGLVARIANTARRAYOBJECTATIPROC, glVariantArrayObjectATI);
GLEXT_PROC(PFNGLGETVARIANTARRAYOBJECTFVATIPROC, glGetVariantArrayObjectfvATI);
GLEXT_PROC(PFNGLGETVARIANTARRAYOBJECTIVATIPROC, glGetVariantArrayObjectivATI);

// GL_ATI_vertex_attrib_array_object
GLEXT_PROC(PFNGLVERTEXATTRIBARRAYOBJECTATIPROC, glVertexAttribArrayObjectATI);
GLEXT_PROC(PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC, glGetVertexAttribArrayObjectfvATI);
GLEXT_PROC(PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC, glGetVertexAttribArrayObjectivATI);

// GL_ATI_vertex_streams
GLEXT_PROC(PFNGLVERTEXSTREAM1SATIPROC, glVertexStream1sATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1SVATIPROC, glVertexStream1svATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1IATIPROC, glVertexStream1iATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1IVATIPROC, glVertexStream1ivATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1FATIPROC, glVertexStream1fATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1FVATIPROC, glVertexStream1fvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1DATIPROC, glVertexStream1dATI);
GLEXT_PROC(PFNGLVERTEXSTREAM1DVATIPROC, glVertexStream1dvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2SATIPROC, glVertexStream2sATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2SVATIPROC, glVertexStream2svATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2IATIPROC, glVertexStream2iATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2IVATIPROC, glVertexStream2ivATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2FATIPROC, glVertexStream2fATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2FVATIPROC, glVertexStream2fvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2DATIPROC, glVertexStream2dATI);
GLEXT_PROC(PFNGLVERTEXSTREAM2DVATIPROC, glVertexStream2dvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3SATIPROC, glVertexStream3sATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3SVATIPROC, glVertexStream3svATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3IATIPROC, glVertexStream3iATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3IVATIPROC, glVertexStream3ivATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3FATIPROC, glVertexStream3fATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3FVATIPROC, glVertexStream3fvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3DATIPROC, glVertexStream3dATI);
GLEXT_PROC(PFNGLVERTEXSTREAM3DVATIPROC, glVertexStream3dvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4SATIPROC, glVertexStream4sATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4SVATIPROC, glVertexStream4svATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4IATIPROC, glVertexStream4iATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4IVATIPROC, glVertexStream4ivATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4FATIPROC, glVertexStream4fATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4FVATIPROC, glVertexStream4fvATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4DATIPROC, glVertexStream4dATI);
GLEXT_PROC(PFNGLVERTEXSTREAM4DVATIPROC, glVertexStream4dvATI);
GLEXT_PROC(PFNGLNORMALSTREAM3BATIPROC, glNormalStream3bATI);
GLEXT_PROC(PFNGLNORMALSTREAM3BVATIPROC, glNormalStream3bvATI);
GLEXT_PROC(PFNGLNORMALSTREAM3SATIPROC, glNormalStream3sATI);
GLEXT_PROC(PFNGLNORMALSTREAM3SVATIPROC, glNormalStream3svATI);
GLEXT_PROC(PFNGLNORMALSTREAM3IATIPROC, glNormalStream3iATI);
GLEXT_PROC(PFNGLNORMALSTREAM3IVATIPROC, glNormalStream3ivATI);
GLEXT_PROC(PFNGLNORMALSTREAM3FATIPROC, glNormalStream3fATI);
GLEXT_PROC(PFNGLNORMALSTREAM3FVATIPROC, glNormalStream3fvATI);
GLEXT_PROC(PFNGLNORMALSTREAM3DATIPROC, glNormalStream3dATI);
GLEXT_PROC(PFNGLNORMALSTREAM3DVATIPROC, glNormalStream3dvATI);
GLEXT_PROC(PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC, glClientActiveVertexStreamATI);
GLEXT_PROC(PFNGLVERTEXBLENDENVIATIPROC, glVertexBlendEnviATI);
GLEXT_PROC(PFNGLVERTEXBLENDENVFATIPROC, glVertexBlendEnvfATI);

// ---------------------------------------------------------------------------------
// EXT
// ---------------------------------------------------------------------------------

// GL_EXT_bindable_uniform
GLEXT_PROC(PFNGLUNIFORMBUFFEREXTPROC, glUniformBufferEXT);
GLEXT_PROC(PFNGLGETUNIFORMBUFFERSIZEEXTPROC, glGetUniformBufferSizeEXT);
GLEXT_PROC(PFNGLGETUNIFORMOFFSETEXTPROC, glGetUniformOffsetEXT);

// GL_EXT_blend_color
GLEXT_PROC(PFNGLBLENDCOLOREXTPROC, glBlendColorEXT);

// GL_EXT_blend_equation_separate
GLEXT_PROC(PFNGLBLENDEQUATIONSEPARATEEXTPROC, glBlendEquationSeparateEXT);

// GL_EXT_blend_func_separate
GLEXT_PROC(PFNGLBLENDFUNCSEPARATEEXTPROC, glBlendFuncSeparateEXT);

// GL_EXT_blend_minmax
GLEXT_PROC(PFNGLBLENDEQUATIONEXTPROC, glBlendEquationEXT);

// GL_EXT_color_subtable
GLEXT_PROC(PFNGLCOLORSUBTABLEEXTPROC, glColorSubTableEXT);
GLEXT_PROC(PFNGLCOPYCOLORSUBTABLEEXTPROC, glCopyColorSubTableEXT);

// GL_EXT_compiled_vertex_array
GLEXT_PROC(PFNGLLOCKARRAYSEXTPROC, glLockArraysEXT);
GLEXT_PROC(PFNGLUNLOCKARRAYSEXTPROC, glUnlockArraysEXT);

// GL_EXT_convolution
GLEXT_PROC(PFNGLCONVOLUTIONFILTER1DEXTPROC, glConvolutionFilter1DEXT);
GLEXT_PROC(PFNGLCONVOLUTIONFILTER2DEXTPROC, glConvolutionFilter2DEXT);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERFEXTPROC, glConvolutionParameterfEXT);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERFVEXTPROC, glConvolutionParameterfvEXT);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERIEXTPROC, glConvolutionParameteriEXT);
GLEXT_PROC(PFNGLCONVOLUTIONPARAMETERIVEXTPROC, glConvolutionParameterivEXT);
GLEXT_PROC(PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC, glCopyConvolutionFilter1DEXT);
GLEXT_PROC(PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC, glCopyConvolutionFilter2DEXT);
GLEXT_PROC(PFNGLGETCONVOLUTIONFILTEREXTPROC, glGetConvolutionFilterEXT);
GLEXT_PROC(PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC, glGetConvolutionParameterfvEXT);
GLEXT_PROC(PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC, glGetConvolutionParameterivEXT);
GLEXT_PROC(PFNGLGETSEPARABLEFILTEREXTPROC, glGetSeparableFilterEXT);
GLEXT_PROC(PFNGLSEPARABLEFILTER2DEXTPROC, glSeparableFilter2DEXT);

// GL_EXT_coordinate_frame
GLEXT_PROC(PFNGLTANGENT3BEXTPROC, glTangent3bEXT);
GLEXT_PROC(PFNGLTANGENT3BVEXTPROC, glTangent3bvEXT);
GLEXT_PROC(PFNGLTANGENT3DEXTPROC, glTangent3dEXT);
GLEXT_PROC(PFNGLTANGENT3DVEXTPROC, glTangent3dvEXT);
GLEXT_PROC(PFNGLTANGENT3FEXTPROC, glTangent3fEXT);
GLEXT_PROC(PFNGLTANGENT3FVEXTPROC, glTangent3fvEXT);
GLEXT_PROC(PFNGLTANGENT3IEXTPROC, glTangent3iEXT);
GLEXT_PROC(PFNGLTANGENT3IVEXTPROC, glTangent3ivEXT);
GLEXT_PROC(PFNGLTANGENT3SEXTPROC, glTangent3sEXT);
GLEXT_PROC(PFNGLTANGENT3SVEXTPROC, glTangent3svEXT);
GLEXT_PROC(PFNGLBINORMAL3BEXTPROC, glBinormal3bEXT);
GLEXT_PROC(PFNGLBINORMAL3BVEXTPROC, glBinormal3bvEXT);
GLEXT_PROC(PFNGLBINORMAL3DEXTPROC, glBinormal3dEXT);
GLEXT_PROC(PFNGLBINORMAL3DVEXTPROC, glBinormal3dvEXT);
GLEXT_PROC(PFNGLBINORMAL3FEXTPROC, glBinormal3fEXT);
GLEXT_PROC(PFNGLBINORMAL3FVEXTPROC, glBinormal3fvEXT);
GLEXT_PROC(PFNGLBINORMAL3IEXTPROC, glBinormal3iEXT);
GLEXT_PROC(PFNGLBINORMAL3IVEXTPROC, glBinormal3ivEXT);
GLEXT_PROC(PFNGLBINORMAL3SEXTPROC, glBinormal3sEXT);
GLEXT_PROC(PFNGLBINORMAL3SVEXTPROC, glBinormal3svEXT);
GLEXT_PROC(PFNGLTANGENTPOINTEREXTPROC, glTangentPointerEXT);
GLEXT_PROC(PFNGLBINORMALPOINTEREXTPROC, glBinormalPointerEXT);

// GL_EXT_copy_texture
GLEXT_PROC(PFNGLCOPYTEXIMAGE1DEXTPROC, glCopyTexImage1DEXT);
GLEXT_PROC(PFNGLCOPYTEXIMAGE2DEXTPROC, glCopyTexImage2DEXT);
GLEXT_PROC(PFNGLCOPYTEXSUBIMAGE1DEXTPROC, glCopyTexSubImage1DEXT);
GLEXT_PROC(PFNGLCOPYTEXSUBIMAGE2DEXTPROC, glCopyTexSubImage2DEXT);
GLEXT_PROC(PFNGLCOPYTEXSUBIMAGE3DEXTPROC, glCopyTexSubImage3DEXT);

// GL_EXT_cull_vertex
GLEXT_PROC(PFNGLCULLPARAMETERDVEXTPROC, glCullParameterdvEXT);
GLEXT_PROC(PFNGLCULLPARAMETERFVEXTPROC, glCullParameterfvEXT);

// GL_EXT_debug_label
GLEXT_PROC(PFNGLLABELOBJECTEXTPROC, glLabelObjectEXT);
GLEXT_PROC(PFNGLGETOBJECTLABELEXTPROC, glGetObjectLabelEXT);

// GL_EXT_debug_marker
GLEXT_PROC(PFNGLINSERTEVENTMARKEREXTPROC, glInsertEventMarkerEXT);
GLEXT_PROC(PFNGLPUSHGROUPMARKEREXTPROC, glPushGroupMarkerEXT);
GLEXT_PROC(PFNGLPOPGROUPMARKEREXTPROC, glPopGroupMarkerEXT);

// GL_EXT_depth_bounds_test
GLEXT_PROC(PFNGLDEPTHBOUNDSEXTPROC, glDepthBoundsEXT);

// GL_EXT_direct_state_access
GLEXT_PROC(PFNGLMATRIXLOADFEXTPROC, glMatrixLoadfEXT);
GLEXT_PROC(PFNGLMATRIXLOADDEXTPROC, glMatrixLoaddEXT);
GLEXT_PROC(PFNGLMATRIXMULTFEXTPROC, glMatrixMultfEXT);
GLEXT_PROC(PFNGLMATRIXMULTDEXTPROC, glMatrixMultdEXT);
GLEXT_PROC(PFNGLMATRIXLOADIDENTITYEXTPROC, glMatrixLoadIdentityEXT);
GLEXT_PROC(PFNGLMATRIXROTATEFEXTPROC, glMatrixRotatefEXT);
GLEXT_PROC(PFNGLMATRIXROTATEDEXTPROC, glMatrixRotatedEXT);
GLEXT_PROC(PFNGLMATRIXSCALEFEXTPROC, glMatrixScalefEXT);
GLEXT_PROC(PFNGLMATRIXSCALEDEXTPROC, glMatrixScaledEXT);
GLEXT_PROC(PFNGLMATRIXTRANSLATEFEXTPROC, glMatrixTranslatefEXT);
GLEXT_PROC(PFNGLMATRIXTRANSLATEDEXTPROC, glMatrixTranslatedEXT);
GLEXT_PROC(PFNGLMATRIXFRUSTUMEXTPROC, glMatrixFrustumEXT);
GLEXT_PROC(PFNGLMATRIXORTHOEXTPROC, glMatrixOrthoEXT);
GLEXT_PROC(PFNGLMATRIXPOPEXTPROC, glMatrixPopEXT);
GLEXT_PROC(PFNGLMATRIXPUSHEXTPROC, glMatrixPushEXT);
GLEXT_PROC(PFNGLCLIENTATTRIBDEFAULTEXTPROC, glClientAttribDefaultEXT);
GLEXT_PROC(PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC, glPushClientAttribDefaultEXT);
GLEXT_PROC(PFNGLTEXTUREPARAMETERFEXTPROC, glTextureParameterfEXT);
GLEXT_PROC(PFNGLTEXTUREPARAMETERFVEXTPROC, glTextureParameterfvEXT);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIEXTPROC, glTextureParameteriEXT);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIVEXTPROC, glTextureParameterivEXT);
GLEXT_PROC(PFNGLTEXTUREIMAGE1DEXTPROC, glTextureImage1DEXT);
GLEXT_PROC(PFNGLTEXTUREIMAGE2DEXTPROC, glTextureImage2DEXT);
GLEXT_PROC(PFNGLTEXTURESUBIMAGE1DEXTPROC, glTextureSubImage1DEXT);
GLEXT_PROC(PFNGLTEXTURESUBIMAGE2DEXTPROC, glTextureSubImage2DEXT);
GLEXT_PROC(PFNGLCOPYTEXTUREIMAGE1DEXTPROC, glCopyTextureImage1DEXT);
GLEXT_PROC(PFNGLCOPYTEXTUREIMAGE2DEXTPROC, glCopyTextureImage2DEXT);
GLEXT_PROC(PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC, glCopyTextureSubImage1DEXT);
GLEXT_PROC(PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC, glCopyTextureSubImage2DEXT);
GLEXT_PROC(PFNGLGETTEXTUREIMAGEEXTPROC, glGetTextureImageEXT);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERFVEXTPROC, glGetTextureParameterfvEXT);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERIVEXTPROC, glGetTextureParameterivEXT);
GLEXT_PROC(PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC, glGetTextureLevelParameterfvEXT);
GLEXT_PROC(PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC, glGetTextureLevelParameterivEXT);
GLEXT_PROC(PFNGLTEXTUREIMAGE3DEXTPROC, glTextureImage3DEXT);
GLEXT_PROC(PFNGLTEXTURESUBIMAGE3DEXTPROC, glTextureSubImage3DEXT);
GLEXT_PROC(PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC, glCopyTextureSubImage3DEXT);
GLEXT_PROC(PFNGLBINDMULTITEXTUREEXTPROC, glBindMultiTextureEXT);
GLEXT_PROC(PFNGLMULTITEXCOORDPOINTEREXTPROC, glMultiTexCoordPointerEXT);
GLEXT_PROC(PFNGLMULTITEXENVFEXTPROC, glMultiTexEnvfEXT);
GLEXT_PROC(PFNGLMULTITEXENVFVEXTPROC, glMultiTexEnvfvEXT);
GLEXT_PROC(PFNGLMULTITEXENVIEXTPROC, glMultiTexEnviEXT);
GLEXT_PROC(PFNGLMULTITEXENVIVEXTPROC, glMultiTexEnvivEXT);
GLEXT_PROC(PFNGLMULTITEXGENDEXTPROC, glMultiTexGendEXT);
GLEXT_PROC(PFNGLMULTITEXGENDVEXTPROC, glMultiTexGendvEXT);
GLEXT_PROC(PFNGLMULTITEXGENFEXTPROC, glMultiTexGenfEXT);
GLEXT_PROC(PFNGLMULTITEXGENFVEXTPROC, glMultiTexGenfvEXT);
GLEXT_PROC(PFNGLMULTITEXGENIEXTPROC, glMultiTexGeniEXT);
GLEXT_PROC(PFNGLMULTITEXGENIVEXTPROC, glMultiTexGenivEXT);
GLEXT_PROC(PFNGLGETMULTITEXENVFVEXTPROC, glGetMultiTexEnvfvEXT);
GLEXT_PROC(PFNGLGETMULTITEXENVIVEXTPROC, glGetMultiTexEnvivEXT);
GLEXT_PROC(PFNGLGETMULTITEXGENDVEXTPROC, glGetMultiTexGendvEXT);
GLEXT_PROC(PFNGLGETMULTITEXGENFVEXTPROC, glGetMultiTexGenfvEXT);
GLEXT_PROC(PFNGLGETMULTITEXGENIVEXTPROC, glGetMultiTexGenivEXT);
GLEXT_PROC(PFNGLMULTITEXPARAMETERIEXTPROC, glMultiTexParameteriEXT);
GLEXT_PROC(PFNGLMULTITEXPARAMETERIVEXTPROC, glMultiTexParameterivEXT);
GLEXT_PROC(PFNGLMULTITEXPARAMETERFEXTPROC, glMultiTexParameterfEXT);
GLEXT_PROC(PFNGLMULTITEXPARAMETERFVEXTPROC, glMultiTexParameterfvEXT);
GLEXT_PROC(PFNGLMULTITEXIMAGE1DEXTPROC, glMultiTexImage1DEXT);
GLEXT_PROC(PFNGLMULTITEXIMAGE2DEXTPROC, glMultiTexImage2DEXT);
GLEXT_PROC(PFNGLMULTITEXSUBIMAGE1DEXTPROC, glMultiTexSubImage1DEXT);
GLEXT_PROC(PFNGLMULTITEXSUBIMAGE2DEXTPROC, glMultiTexSubImage2DEXT);
GLEXT_PROC(PFNGLCOPYMULTITEXIMAGE1DEXTPROC, glCopyMultiTexImage1DEXT);
GLEXT_PROC(PFNGLCOPYMULTITEXIMAGE2DEXTPROC, glCopyMultiTexImage2DEXT);
GLEXT_PROC(PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC, glCopyMultiTexSubImage1DEXT);
GLEXT_PROC(PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC, glCopyMultiTexSubImage2DEXT);
GLEXT_PROC(PFNGLGETMULTITEXIMAGEEXTPROC, glGetMultiTexImageEXT);
GLEXT_PROC(PFNGLGETMULTITEXPARAMETERFVEXTPROC, glGetMultiTexParameterfvEXT);
GLEXT_PROC(PFNGLGETMULTITEXPARAMETERIVEXTPROC, glGetMultiTexParameterivEXT);
GLEXT_PROC(PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC, glGetMultiTexLevelParameterfvEXT);
GLEXT_PROC(PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC, glGetMultiTexLevelParameterivEXT);
GLEXT_PROC(PFNGLMULTITEXIMAGE3DEXTPROC, glMultiTexImage3DEXT);
GLEXT_PROC(PFNGLMULTITEXSUBIMAGE3DEXTPROC, glMultiTexSubImage3DEXT);
GLEXT_PROC(PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC, glCopyMultiTexSubImage3DEXT);
GLEXT_PROC(PFNGLENABLECLIENTSTATEINDEXEDEXTPROC, glEnableClientStateIndexedEXT);
GLEXT_PROC(PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC, glDisableClientStateIndexedEXT);
GLEXT_PROC(PFNGLGETFLOATINDEXEDVEXTPROC, glGetFloatIndexedvEXT);
GLEXT_PROC(PFNGLGETDOUBLEINDEXEDVEXTPROC, glGetDoubleIndexedvEXT);
GLEXT_PROC(PFNGLGETPOINTERINDEXEDVEXTPROC, glGetPointerIndexedvEXT);
GLEXT_PROC(PFNGLENABLEINDEXEDEXTPROC, glEnableIndexedEXT);
GLEXT_PROC(PFNGLDISABLEINDEXEDEXTPROC, glDisableIndexedEXT);
GLEXT_PROC(PFNGLISENABLEDINDEXEDEXTPROC, glIsEnabledIndexedEXT);
GLEXT_PROC(PFNGLGETINTEGERINDEXEDVEXTPROC, glGetIntegerIndexedvEXT);
GLEXT_PROC(PFNGLGETBOOLEANINDEXEDVEXTPROC, glGetBooleanIndexedvEXT);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC, glCompressedTextureImage3DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC, glCompressedTextureImage2DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC, glCompressedTextureImage1DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC, glCompressedTextureSubImage3DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC, glCompressedTextureSubImage2DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC, glCompressedTextureSubImage1DEXT);
GLEXT_PROC(PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC, glGetCompressedTextureImageEXT);
GLEXT_PROC(PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC, glCompressedMultiTexImage3DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC, glCompressedMultiTexImage2DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC, glCompressedMultiTexImage1DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC, glCompressedMultiTexSubImage3DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC, glCompressedMultiTexSubImage2DEXT);
GLEXT_PROC(PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC, glCompressedMultiTexSubImage1DEXT);
GLEXT_PROC(PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC, glGetCompressedMultiTexImageEXT);
GLEXT_PROC(PFNGLMATRIXLOADTRANSPOSEFEXTPROC, glMatrixLoadTransposefEXT);
GLEXT_PROC(PFNGLMATRIXLOADTRANSPOSEDEXTPROC, glMatrixLoadTransposedEXT);
GLEXT_PROC(PFNGLMATRIXMULTTRANSPOSEFEXTPROC, glMatrixMultTransposefEXT);
GLEXT_PROC(PFNGLMATRIXMULTTRANSPOSEDEXTPROC, glMatrixMultTransposedEXT);
GLEXT_PROC(PFNGLNAMEDBUFFERDATAEXTPROC, glNamedBufferDataEXT);
GLEXT_PROC(PFNGLNAMEDBUFFERSUBDATAEXTPROC, glNamedBufferSubDataEXT);
GLEXT_PROC(PFNGLMAPNAMEDBUFFEREXTPROC, glMapNamedBufferEXT);
GLEXT_PROC(PFNGLUNMAPNAMEDBUFFEREXTPROC, glUnmapNamedBufferEXT);
GLEXT_PROC(PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC, glGetNamedBufferParameterivEXT);
GLEXT_PROC(PFNGLGETNAMEDBUFFERPOINTERVEXTPROC, glGetNamedBufferPointervEXT);
GLEXT_PROC(PFNGLGETNAMEDBUFFERSUBDATAEXTPROC, glGetNamedBufferSubDataEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1FEXTPROC, glProgramUniform1fEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2FEXTPROC, glProgramUniform2fEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3FEXTPROC, glProgramUniform3fEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4FEXTPROC, glProgramUniform4fEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1IEXTPROC, glProgramUniform1iEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2IEXTPROC, glProgramUniform2iEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3IEXTPROC, glProgramUniform3iEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4IEXTPROC, glProgramUniform4iEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1FVEXTPROC, glProgramUniform1fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2FVEXTPROC, glProgramUniform2fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3FVEXTPROC, glProgramUniform3fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4FVEXTPROC, glProgramUniform4fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1IVEXTPROC, glProgramUniform1ivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2IVEXTPROC, glProgramUniform2ivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3IVEXTPROC, glProgramUniform3ivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4IVEXTPROC, glProgramUniform4ivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC, glProgramUniformMatrix2fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC, glProgramUniformMatrix3fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC, glProgramUniformMatrix4fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC, glProgramUniformMatrix2x3fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC, glProgramUniformMatrix3x2fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC, glProgramUniformMatrix2x4fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC, glProgramUniformMatrix4x2fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC, glProgramUniformMatrix3x4fvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC, glProgramUniformMatrix4x3fvEXT);
GLEXT_PROC(PFNGLTEXTUREBUFFEREXTPROC, glTextureBufferEXT);
GLEXT_PROC(PFNGLMULTITEXBUFFEREXTPROC, glMultiTexBufferEXT);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIIVEXTPROC, glTextureParameterIivEXT);
GLEXT_PROC(PFNGLTEXTUREPARAMETERIUIVEXTPROC, glTextureParameterIuivEXT);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERIIVEXTPROC, glGetTextureParameterIivEXT);
GLEXT_PROC(PFNGLGETTEXTUREPARAMETERIUIVEXTPROC, glGetTextureParameterIuivEXT);
GLEXT_PROC(PFNGLMULTITEXPARAMETERIIVEXTPROC, glMultiTexParameterIivEXT);
GLEXT_PROC(PFNGLMULTITEXPARAMETERIUIVEXTPROC, glMultiTexParameterIuivEXT);
GLEXT_PROC(PFNGLGETMULTITEXPARAMETERIIVEXTPROC, glGetMultiTexParameterIivEXT);
GLEXT_PROC(PFNGLGETMULTITEXPARAMETERIUIVEXTPROC, glGetMultiTexParameterIuivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UIEXTPROC, glProgramUniform1uiEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UIEXTPROC, glProgramUniform2uiEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UIEXTPROC, glProgramUniform3uiEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UIEXTPROC, glProgramUniform4uiEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1UIVEXTPROC, glProgramUniform1uivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2UIVEXTPROC, glProgramUniform2uivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3UIVEXTPROC, glProgramUniform3uivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4UIVEXTPROC, glProgramUniform4uivEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC, glNamedProgramLocalParameters4fvEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC, glNamedProgramLocalParameterI4iEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC, glNamedProgramLocalParameterI4ivEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC, glNamedProgramLocalParametersI4ivEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC, glNamedProgramLocalParameterI4uiEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC, glNamedProgramLocalParameterI4uivEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC, glNamedProgramLocalParametersI4uivEXT);
GLEXT_PROC(PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC, glGetNamedProgramLocalParameterIivEXT);
GLEXT_PROC(PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC, glGetNamedProgramLocalParameterIuivEXT);
GLEXT_PROC(PFNGLENABLECLIENTSTATEIEXTPROC, glEnableClientStateiEXT);
GLEXT_PROC(PFNGLDISABLECLIENTSTATEIEXTPROC, glDisableClientStateiEXT);
GLEXT_PROC(PFNGLGETFLOATI_VEXTPROC, glGetFloati_vEXT);
GLEXT_PROC(PFNGLGETDOUBLEI_VEXTPROC, glGetDoublei_vEXT);
GLEXT_PROC(PFNGLGETPOINTERI_VEXTPROC, glGetPointeri_vEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMSTRINGEXTPROC, glNamedProgramStringEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC, glNamedProgramLocalParameter4dEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC, glNamedProgramLocalParameter4dvEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC, glNamedProgramLocalParameter4fEXT);
GLEXT_PROC(PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC, glNamedProgramLocalParameter4fvEXT);
GLEXT_PROC(PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC, glGetNamedProgramLocalParameterdvEXT);
GLEXT_PROC(PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC, glGetNamedProgramLocalParameterfvEXT);
GLEXT_PROC(PFNGLGETNAMEDPROGRAMIVEXTPROC, glGetNamedProgramivEXT);
GLEXT_PROC(PFNGLGETNAMEDPROGRAMSTRINGEXTPROC, glGetNamedProgramStringEXT);
GLEXT_PROC(PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC, glNamedRenderbufferStorageEXT);
GLEXT_PROC(PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC, glGetNamedRenderbufferParameterivEXT);
GLEXT_PROC(PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glNamedRenderbufferStorageMultisampleEXT);
GLEXT_PROC(PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC, glNamedRenderbufferStorageMultisampleCoverageEXT);
GLEXT_PROC(PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC, glCheckNamedFramebufferStatusEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC, glNamedFramebufferTexture1DEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC, glNamedFramebufferTexture2DEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC, glNamedFramebufferTexture3DEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC, glNamedFramebufferRenderbufferEXT);
GLEXT_PROC(PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC, glGetNamedFramebufferAttachmentParameterivEXT);
GLEXT_PROC(PFNGLGENERATETEXTUREMIPMAPEXTPROC, glGenerateTextureMipmapEXT);
GLEXT_PROC(PFNGLGENERATEMULTITEXMIPMAPEXTPROC, glGenerateMultiTexMipmapEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC, glFramebufferDrawBufferEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC, glFramebufferDrawBuffersEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERREADBUFFEREXTPROC, glFramebufferReadBufferEXT);
GLEXT_PROC(PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC, glGetFramebufferParameterivEXT);
GLEXT_PROC(PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC, glNamedCopyBufferSubDataEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC, glNamedFramebufferTextureEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC, glNamedFramebufferTextureLayerEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC, glNamedFramebufferTextureFaceEXT);
GLEXT_PROC(PFNGLTEXTURERENDERBUFFEREXTPROC, glTextureRenderbufferEXT);
GLEXT_PROC(PFNGLMULTITEXRENDERBUFFEREXTPROC, glMultiTexRenderbufferEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC, glVertexArrayVertexOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYCOLOROFFSETEXTPROC, glVertexArrayColorOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC, glVertexArrayEdgeFlagOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYINDEXOFFSETEXTPROC, glVertexArrayIndexOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYNORMALOFFSETEXTPROC, glVertexArrayNormalOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC, glVertexArrayTexCoordOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC, glVertexArrayMultiTexCoordOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC, glVertexArrayFogCoordOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC, glVertexArraySecondaryColorOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC, glVertexArrayVertexAttribOffsetEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC, glVertexArrayVertexAttribIOffsetEXT);
GLEXT_PROC(PFNGLENABLEVERTEXARRAYEXTPROC, glEnableVertexArrayEXT);
GLEXT_PROC(PFNGLDISABLEVERTEXARRAYEXTPROC, glDisableVertexArrayEXT);
GLEXT_PROC(PFNGLENABLEVERTEXARRAYATTRIBEXTPROC, glEnableVertexArrayAttribEXT);
GLEXT_PROC(PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC, glDisableVertexArrayAttribEXT);
GLEXT_PROC(PFNGLGETVERTEXARRAYINTEGERVEXTPROC, glGetVertexArrayIntegervEXT);
GLEXT_PROC(PFNGLGETVERTEXARRAYPOINTERVEXTPROC, glGetVertexArrayPointervEXT);
GLEXT_PROC(PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC, glGetVertexArrayIntegeri_vEXT);
GLEXT_PROC(PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC, glGetVertexArrayPointeri_vEXT);
GLEXT_PROC(PFNGLMAPNAMEDBUFFERRANGEEXTPROC, glMapNamedBufferRangeEXT);
GLEXT_PROC(PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC, glFlushMappedNamedBufferRangeEXT);
GLEXT_PROC(PFNGLNAMEDBUFFERSTORAGEEXTPROC, glNamedBufferStorageEXT);
GLEXT_PROC(PFNGLCLEARNAMEDBUFFERDATAEXTPROC, glClearNamedBufferDataEXT);
GLEXT_PROC(PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC, glClearNamedBufferSubDataEXT);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC, glNamedFramebufferParameteriEXT);
GLEXT_PROC(PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC, glGetNamedFramebufferParameterivEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1DEXTPROC, glProgramUniform1dEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2DEXTPROC, glProgramUniform2dEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3DEXTPROC, glProgramUniform3dEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4DEXTPROC, glProgramUniform4dEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM1DVEXTPROC, glProgramUniform1dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM2DVEXTPROC, glProgramUniform2dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM3DVEXTPROC, glProgramUniform3dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORM4DVEXTPROC, glProgramUniform4dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC, glProgramUniformMatrix2dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC, glProgramUniformMatrix3dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC, glProgramUniformMatrix4dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC, glProgramUniformMatrix2x3dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC, glProgramUniformMatrix2x4dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC, glProgramUniformMatrix3x2dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC, glProgramUniformMatrix3x4dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC, glProgramUniformMatrix4x2dvEXT);
GLEXT_PROC(PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC, glProgramUniformMatrix4x3dvEXT);
GLEXT_PROC(PFNGLTEXTUREBUFFERRANGEEXTPROC, glTextureBufferRangeEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGE1DEXTPROC, glTextureStorage1DEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGE2DEXTPROC, glTextureStorage2DEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGE3DEXTPROC, glTextureStorage3DEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC, glTextureStorage2DMultisampleEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC, glTextureStorage3DMultisampleEXT);
GLEXT_PROC(PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC, glVertexArrayBindVertexBufferEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC, glVertexArrayVertexAttribFormatEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC, glVertexArrayVertexAttribIFormatEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC, glVertexArrayVertexAttribLFormatEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC, glVertexArrayVertexAttribBindingEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC, glVertexArrayVertexBindingDivisorEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC, glVertexArrayVertexAttribLOffsetEXT);
GLEXT_PROC(PFNGLTEXTUREPAGECOMMITMENTEXTPROC, glTexturePageCommitmentEXT);
GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC, glVertexArrayVertexAttribDivisorEXT);

// GL_EXT_draw_buffers2
GLEXT_PROC(PFNGLCOLORMASKINDEXEDEXTPROC, glColorMaskIndexedEXT);

// GL_EXT_draw_instanced
GLEXT_PROC(PFNGLDRAWARRAYSINSTANCEDEXTPROC, glDrawArraysInstancedEXT);
GLEXT_PROC(PFNGLDRAWELEMENTSINSTANCEDEXTPROC, glDrawElementsInstancedEXT);

// GL_EXT_draw_range_elements
GLEXT_PROC(PFNGLDRAWRANGEELEMENTSEXTPROC, glDrawRangeElementsEXT);

// GL_EXT_fog_coord
GLEXT_PROC(PFNGLFOGCOORDFEXTPROC, glFogCoordfEXT);
GLEXT_PROC(PFNGLFOGCOORDFVEXTPROC, glFogCoordfvEXT);
GLEXT_PROC(PFNGLFOGCOORDDEXTPROC, glFogCoorddEXT);
GLEXT_PROC(PFNGLFOGCOORDDVEXTPROC, glFogCoorddvEXT);
GLEXT_PROC(PFNGLFOGCOORDPOINTEREXTPROC, glFogCoordPointerEXT);

// GL_EXT_framebuffer_blit
GLEXT_PROC(PFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT);

// GL_EXT_framebuffer_multisample
GLEXT_PROC(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT);

// GL_EXT_framebuffer_object
GLEXT_PROC(PFNGLISRENDERBUFFEREXTPROC, glIsRenderbufferEXT);
GLEXT_PROC(PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT);
GLEXT_PROC(PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT);
GLEXT_PROC(PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT);
GLEXT_PROC(PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT);
GLEXT_PROC(PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC, glGetRenderbufferParameterivEXT);
GLEXT_PROC(PFNGLISFRAMEBUFFEREXTPROC, glIsFramebufferEXT);
GLEXT_PROC(PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT);
GLEXT_PROC(PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT);
GLEXT_PROC(PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT);
GLEXT_PROC(PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURE1DEXTPROC, glFramebufferTexture1DEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURE3DEXTPROC, glFramebufferTexture3DEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT);
GLEXT_PROC(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC, glGetFramebufferAttachmentParameterivEXT);
GLEXT_PROC(PFNGLGENERATEMIPMAPEXTPROC, glGenerateMipmapEXT);

// GL_EXT_geometry_shader4
GLEXT_PROC(PFNGLPROGRAMPARAMETERIEXTPROC, glProgramParameteriEXT);

// GL_EXT_gpu_program_parameters
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERS4FVEXTPROC, glProgramEnvParameters4fvEXT);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC, glProgramLocalParameters4fvEXT);

// GL_EXT_gpu_shader4
GLEXT_PROC(PFNGLGETUNIFORMUIVEXTPROC, glGetUniformuivEXT);
GLEXT_PROC(PFNGLBINDFRAGDATALOCATIONEXTPROC, glBindFragDataLocationEXT);
GLEXT_PROC(PFNGLGETFRAGDATALOCATIONEXTPROC, glGetFragDataLocationEXT);
GLEXT_PROC(PFNGLUNIFORM1UIEXTPROC, glUniform1uiEXT);
GLEXT_PROC(PFNGLUNIFORM2UIEXTPROC, glUniform2uiEXT);
GLEXT_PROC(PFNGLUNIFORM3UIEXTPROC, glUniform3uiEXT);
GLEXT_PROC(PFNGLUNIFORM4UIEXTPROC, glUniform4uiEXT);
GLEXT_PROC(PFNGLUNIFORM1UIVEXTPROC, glUniform1uivEXT);
GLEXT_PROC(PFNGLUNIFORM2UIVEXTPROC, glUniform2uivEXT);
GLEXT_PROC(PFNGLUNIFORM3UIVEXTPROC, glUniform3uivEXT);
GLEXT_PROC(PFNGLUNIFORM4UIVEXTPROC, glUniform4uivEXT);

// GL_EXT_histogram
GLEXT_PROC(PFNGLGETHISTOGRAMEXTPROC, glGetHistogramEXT);
GLEXT_PROC(PFNGLGETHISTOGRAMPARAMETERFVEXTPROC, glGetHistogramParameterfvEXT);
GLEXT_PROC(PFNGLGETHISTOGRAMPARAMETERIVEXTPROC, glGetHistogramParameterivEXT);
GLEXT_PROC(PFNGLGETMINMAXEXTPROC, glGetMinmaxEXT);
GLEXT_PROC(PFNGLGETMINMAXPARAMETERFVEXTPROC, glGetMinmaxParameterfvEXT);
GLEXT_PROC(PFNGLGETMINMAXPARAMETERIVEXTPROC, glGetMinmaxParameterivEXT);
GLEXT_PROC(PFNGLHISTOGRAMEXTPROC, glHistogramEXT);
GLEXT_PROC(PFNGLMINMAXEXTPROC, glMinmaxEXT);
GLEXT_PROC(PFNGLRESETHISTOGRAMEXTPROC, glResetHistogramEXT);
GLEXT_PROC(PFNGLRESETMINMAXEXTPROC, glResetMinmaxEXT);

// GL_EXT_index_func
GLEXT_PROC(PFNGLINDEXFUNCEXTPROC, glIndexFuncEXT);

// GL_EXT_index_material
GLEXT_PROC(PFNGLINDEXMATERIALEXTPROC, glIndexMaterialEXT);

// GL_EXT_light_texture
GLEXT_PROC(PFNGLAPPLYTEXTUREEXTPROC, glApplyTextureEXT);
GLEXT_PROC(PFNGLTEXTURELIGHTEXTPROC, glTextureLightEXT);
GLEXT_PROC(PFNGLTEXTUREMATERIALEXTPROC, glTextureMaterialEXT);

// GL_EXT_multi_draw_arrays
GLEXT_PROC(PFNGLMULTIDRAWARRAYSEXTPROC, glMultiDrawArraysEXT);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSEXTPROC, glMultiDrawElementsEXT);

// GL_EXT_multisample
GLEXT_PROC(PFNGLSAMPLEMASKEXTPROC, glSampleMaskEXT);
GLEXT_PROC(PFNGLSAMPLEPATTERNEXTPROC, glSamplePatternEXT);

// GL_EXT_paletted_texture
GLEXT_PROC(PFNGLCOLORTABLEEXTPROC, glColorTableEXT);
GLEXT_PROC(PFNGLGETCOLORTABLEEXTPROC, glGetColorTableEXT);
GLEXT_PROC(PFNGLGETCOLORTABLEPARAMETERIVEXTPROC, glGetColorTableParameterivEXT);
GLEXT_PROC(PFNGLGETCOLORTABLEPARAMETERFVEXTPROC, glGetColorTableParameterfvEXT);

// GL_EXT_pixel_transform
GLEXT_PROC(PFNGLPIXELTRANSFORMPARAMETERIEXTPROC, glPixelTransformParameteriEXT);
GLEXT_PROC(PFNGLPIXELTRANSFORMPARAMETERFEXTPROC, glPixelTransformParameterfEXT);
GLEXT_PROC(PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC, glPixelTransformParameterivEXT);
GLEXT_PROC(PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC, glPixelTransformParameterfvEXT);
GLEXT_PROC(PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC, glGetPixelTransformParameterivEXT);
GLEXT_PROC(PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC, glGetPixelTransformParameterfvEXT);

// GL_EXT_point_parameters
GLEXT_PROC(PFNGLPOINTPARAMETERFEXTPROC, glPointParameterfEXT);
GLEXT_PROC(PFNGLPOINTPARAMETERFVEXTPROC, glPointParameterfvEXT);

// GL_EXT_polygon_offset
GLEXT_PROC(PFNGLPOLYGONOFFSETEXTPROC, glPolygonOffsetEXT);

// GL_EXT_polygon_offset_clamp
GLEXT_PROC(PFNGLPOLYGONOFFSETCLAMPEXTPROC, glPolygonOffsetClampEXT);

// GL_EXT_provoking_vertex
GLEXT_PROC(PFNGLPROVOKINGVERTEXEXTPROC, glProvokingVertexEXT);

// GL_EXT_raster_multisample
GLEXT_PROC(PFNGLRASTERSAMPLESEXTPROC, glRasterSamplesEXT);

// GL_EXT_secondary_color
GLEXT_PROC(PFNGLSECONDARYCOLOR3BEXTPROC, glSecondaryColor3bEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3BVEXTPROC, glSecondaryColor3bvEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3DEXTPROC, glSecondaryColor3dEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3DVEXTPROC, glSecondaryColor3dvEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3FEXTPROC, glSecondaryColor3fEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3FVEXTPROC, glSecondaryColor3fvEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3IEXTPROC, glSecondaryColor3iEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3IVEXTPROC, glSecondaryColor3ivEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3SEXTPROC, glSecondaryColor3sEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3SVEXTPROC, glSecondaryColor3svEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UBEXTPROC, glSecondaryColor3ubEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UBVEXTPROC, glSecondaryColor3ubvEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UIEXTPROC, glSecondaryColor3uiEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3UIVEXTPROC, glSecondaryColor3uivEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3USEXTPROC, glSecondaryColor3usEXT);
GLEXT_PROC(PFNGLSECONDARYCOLOR3USVEXTPROC, glSecondaryColor3usvEXT);
GLEXT_PROC(PFNGLSECONDARYCOLORPOINTEREXTPROC, glSecondaryColorPointerEXT);

// GL_EXT_separate_shader_objects
GLEXT_PROC(PFNGLUSESHADERPROGRAMEXTPROC, glUseShaderProgramEXT);
GLEXT_PROC(PFNGLACTIVEPROGRAMEXTPROC, glActiveProgramEXT);
GLEXT_PROC(PFNGLCREATESHADERPROGRAMEXTPROC, glCreateShaderProgramEXT);

// GL_EXT_shader_image_load_store
GLEXT_PROC(PFNGLBINDIMAGETEXTUREEXTPROC, glBindImageTextureEXT);
GLEXT_PROC(PFNGLMEMORYBARRIEREXTPROC, glMemoryBarrierEXT);

// GL_EXT_stencil_clear_tag
GLEXT_PROC(PFNGLSTENCILCLEARTAGEXTPROC, glStencilClearTagEXT);

// GL_EXT_stencil_two_side
GLEXT_PROC(PFNGLACTIVESTENCILFACEEXTPROC, glActiveStencilFaceEXT);

// GL_EXT_subtexture
GLEXT_PROC(PFNGLTEXSUBIMAGE1DEXTPROC, glTexSubImage1DEXT);
GLEXT_PROC(PFNGLTEXSUBIMAGE2DEXTPROC, glTexSubImage2DEXT);

// GL_EXT_texture3D
GLEXT_PROC(PFNGLTEXIMAGE3DEXTPROC, glTexImage3DEXT);
GLEXT_PROC(PFNGLTEXSUBIMAGE3DEXTPROC, glTexSubImage3DEXT);

// GL_EXT_texture_buffer_object
GLEXT_PROC(PFNGLTEXBUFFEREXTPROC, glTexBufferEXT);

// GL_EXT_texture_integer
GLEXT_PROC(PFNGLTEXPARAMETERIIVEXTPROC, glTexParameterIivEXT);
GLEXT_PROC(PFNGLTEXPARAMETERIUIVEXTPROC, glTexParameterIuivEXT);
GLEXT_PROC(PFNGLGETTEXPARAMETERIIVEXTPROC, glGetTexParameterIivEXT);
GLEXT_PROC(PFNGLGETTEXPARAMETERIUIVEXTPROC, glGetTexParameterIuivEXT);
GLEXT_PROC(PFNGLCLEARCOLORIIEXTPROC, glClearColorIiEXT);
GLEXT_PROC(PFNGLCLEARCOLORIUIEXTPROC, glClearColorIuiEXT);

// GL_EXT_texture_object
GLEXT_PROC(PFNGLARETEXTURESRESIDENTEXTPROC, glAreTexturesResidentEXT);
GLEXT_PROC(PFNGLBINDTEXTUREEXTPROC, glBindTextureEXT);
GLEXT_PROC(PFNGLDELETETEXTURESEXTPROC, glDeleteTexturesEXT);
GLEXT_PROC(PFNGLGENTEXTURESEXTPROC, glGenTexturesEXT);
GLEXT_PROC(PFNGLISTEXTUREEXTPROC, glIsTextureEXT);
GLEXT_PROC(PFNGLPRIORITIZETEXTURESEXTPROC, glPrioritizeTexturesEXT);

// GL_EXT_texture_perturb_normal
GLEXT_PROC(PFNGLTEXTURENORMALEXTPROC, glTextureNormalEXT);

// GL_EXT_timer_query
GLEXT_PROC(PFNGLGETQUERYOBJECTI64VEXTPROC, glGetQueryObjecti64vEXT);
GLEXT_PROC(PFNGLGETQUERYOBJECTUI64VEXTPROC, glGetQueryObjectui64vEXT);

// GL_EXT_transform_feedback
GLEXT_PROC(PFNGLBEGINTRANSFORMFEEDBACKEXTPROC, glBeginTransformFeedbackEXT);
GLEXT_PROC(PFNGLENDTRANSFORMFEEDBACKEXTPROC, glEndTransformFeedbackEXT);
GLEXT_PROC(PFNGLBINDBUFFERRANGEEXTPROC, glBindBufferRangeEXT);
GLEXT_PROC(PFNGLBINDBUFFEROFFSETEXTPROC, glBindBufferOffsetEXT);
GLEXT_PROC(PFNGLBINDBUFFERBASEEXTPROC, glBindBufferBaseEXT);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC, glTransformFeedbackVaryingsEXT);
GLEXT_PROC(PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC, glGetTransformFeedbackVaryingEXT);

// GL_EXT_vertex_array
GLEXT_PROC(PFNGLARRAYELEMENTEXTPROC, glArrayElementEXT);
GLEXT_PROC(PFNGLCOLORPOINTEREXTPROC, glColorPointerEXT);
GLEXT_PROC(PFNGLDRAWARRAYSEXTPROC, glDrawArraysEXT);
GLEXT_PROC(PFNGLEDGEFLAGPOINTEREXTPROC, glEdgeFlagPointerEXT);
GLEXT_PROC(PFNGLGETPOINTERVEXTPROC, glGetPointervEXT);
GLEXT_PROC(PFNGLINDEXPOINTEREXTPROC, glIndexPointerEXT);
GLEXT_PROC(PFNGLNORMALPOINTEREXTPROC, glNormalPointerEXT);
GLEXT_PROC(PFNGLTEXCOORDPOINTEREXTPROC, glTexCoordPointerEXT);
GLEXT_PROC(PFNGLVERTEXPOINTEREXTPROC, glVertexPointerEXT);

// GL_EXT_vertex_attrib_64bit
GLEXT_PROC(PFNGLVERTEXATTRIBL1DEXTPROC, glVertexAttribL1dEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL2DEXTPROC, glVertexAttribL2dEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL3DEXTPROC, glVertexAttribL3dEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL4DEXTPROC, glVertexAttribL4dEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL1DVEXTPROC, glVertexAttribL1dvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL2DVEXTPROC, glVertexAttribL2dvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL3DVEXTPROC, glVertexAttribL3dvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBL4DVEXTPROC, glVertexAttribL4dvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBLPOINTEREXTPROC, glVertexAttribLPointerEXT);
GLEXT_PROC(PFNGLGETVERTEXATTRIBLDVEXTPROC, glGetVertexAttribLdvEXT);
//GLEXT_PROC(PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC, glVertexArrayVertexAttribLOffsetEXT);

// GL_EXT_vertex_shader
GLEXT_PROC(PFNGLBEGINVERTEXSHADEREXTPROC, glBeginVertexShaderEXT);
GLEXT_PROC(PFNGLENDVERTEXSHADEREXTPROC, glEndVertexShaderEXT);
GLEXT_PROC(PFNGLBINDVERTEXSHADEREXTPROC, glBindVertexShaderEXT);
GLEXT_PROC(PFNGLGENVERTEXSHADERSEXTPROC, glGenVertexShadersEXT);
GLEXT_PROC(PFNGLDELETEVERTEXSHADEREXTPROC, glDeleteVertexShaderEXT);
GLEXT_PROC(PFNGLSHADEROP1EXTPROC, glShaderOp1EXT);
GLEXT_PROC(PFNGLSHADEROP2EXTPROC, glShaderOp2EXT);
GLEXT_PROC(PFNGLSHADEROP3EXTPROC, glShaderOp3EXT);
GLEXT_PROC(PFNGLSWIZZLEEXTPROC, glSwizzleEXT);
GLEXT_PROC(PFNGLWRITEMASKEXTPROC, glWriteMaskEXT);
GLEXT_PROC(PFNGLINSERTCOMPONENTEXTPROC, glInsertComponentEXT);
GLEXT_PROC(PFNGLEXTRACTCOMPONENTEXTPROC, glExtractComponentEXT);
GLEXT_PROC(PFNGLGENSYMBOLSEXTPROC, glGenSymbolsEXT);
GLEXT_PROC(PFNGLSETINVARIANTEXTPROC, glSetInvariantEXT);
GLEXT_PROC(PFNGLSETLOCALCONSTANTEXTPROC, glSetLocalConstantEXT);
GLEXT_PROC(PFNGLVARIANTBVEXTPROC, glVariantbvEXT);
GLEXT_PROC(PFNGLVARIANTSVEXTPROC, glVariantsvEXT);
GLEXT_PROC(PFNGLVARIANTIVEXTPROC, glVariantivEXT);
GLEXT_PROC(PFNGLVARIANTFVEXTPROC, glVariantfvEXT);
GLEXT_PROC(PFNGLVARIANTDVEXTPROC, glVariantdvEXT);
GLEXT_PROC(PFNGLVARIANTUBVEXTPROC, glVariantubvEXT);
GLEXT_PROC(PFNGLVARIANTUSVEXTPROC, glVariantusvEXT);
GLEXT_PROC(PFNGLVARIANTUIVEXTPROC, glVariantuivEXT);
GLEXT_PROC(PFNGLVARIANTPOINTEREXTPROC, glVariantPointerEXT);
GLEXT_PROC(PFNGLENABLEVARIANTCLIENTSTATEEXTPROC, glEnableVariantClientStateEXT);
GLEXT_PROC(PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC, glDisableVariantClientStateEXT);
GLEXT_PROC(PFNGLBINDLIGHTPARAMETEREXTPROC, glBindLightParameterEXT);
GLEXT_PROC(PFNGLBINDMATERIALPARAMETEREXTPROC, glBindMaterialParameterEXT);
GLEXT_PROC(PFNGLBINDTEXGENPARAMETEREXTPROC, glBindTexGenParameterEXT);
GLEXT_PROC(PFNGLBINDTEXTUREUNITPARAMETEREXTPROC, glBindTextureUnitParameterEXT);
GLEXT_PROC(PFNGLBINDPARAMETEREXTPROC, glBindParameterEXT);
GLEXT_PROC(PFNGLISVARIANTENABLEDEXTPROC, glIsVariantEnabledEXT);
GLEXT_PROC(PFNGLGETVARIANTBOOLEANVEXTPROC, glGetVariantBooleanvEXT);
GLEXT_PROC(PFNGLGETVARIANTINTEGERVEXTPROC, glGetVariantIntegervEXT);
GLEXT_PROC(PFNGLGETVARIANTFLOATVEXTPROC, glGetVariantFloatvEXT);
GLEXT_PROC(PFNGLGETVARIANTPOINTERVEXTPROC, glGetVariantPointervEXT);
GLEXT_PROC(PFNGLGETINVARIANTBOOLEANVEXTPROC, glGetInvariantBooleanvEXT);
GLEXT_PROC(PFNGLGETINVARIANTINTEGERVEXTPROC, glGetInvariantIntegervEXT);
GLEXT_PROC(PFNGLGETINVARIANTFLOATVEXTPROC, glGetInvariantFloatvEXT);
GLEXT_PROC(PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC, glGetLocalConstantBooleanvEXT);
GLEXT_PROC(PFNGLGETLOCALCONSTANTINTEGERVEXTPROC, glGetLocalConstantIntegervEXT);
GLEXT_PROC(PFNGLGETLOCALCONSTANTFLOATVEXTPROC, glGetLocalConstantFloatvEXT);

// GL_EXT_vertex_weighting
GLEXT_PROC(PFNGLVERTEXWEIGHTFEXTPROC, glVertexWeightfEXT);
GLEXT_PROC(PFNGLVERTEXWEIGHTFVEXTPROC, glVertexWeightfvEXT);
GLEXT_PROC(PFNGLVERTEXWEIGHTPOINTEREXTPROC, glVertexWeightPointerEXT);

// GL_EXT_x11_sync_object
GLEXT_PROC(PFNGLIMPORTSYNCEXTPROC, glImportSyncEXT);

// GL_EXT_texture_array
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC, glFramebufferTextureLayerEXT);

// GL_EXT_window_rectangles
GLEXT_PROC(PFNGLWINDOWRECTANGLESEXTPROC, glWindowRectanglesEXT);

// GL_EXT_EGL_image_storage
GLEXT_PROC(PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC, glEGLImageTargetTexStorageEXT);
GLEXT_PROC(PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC, glEGLImageTargetTextureStorageEXT);

// GL_EXT_external_buffer
GLEXT_PROC(PFNGLBUFFERSTORAGEEXTERNALEXTPROC, glBufferStorageExternalEXT);
GLEXT_PROC(PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC, glNamedBufferStorageExternalEXT);

// GL_EXT_memory_object
GLEXT_PROC(PFNGLGETUNSIGNEDBYTEVEXTPROC, glGetUnsignedBytevEXT);
GLEXT_PROC(PFNGLGETUNSIGNEDBYTEI_VEXTPROC, glGetUnsignedBytei_vEXT);
GLEXT_PROC(PFNGLDELETEMEMORYOBJECTSEXTPROC, glDeleteMemoryObjectsEXT);
GLEXT_PROC(PFNGLISMEMORYOBJECTEXTPROC, glIsMemoryObjectEXT);
GLEXT_PROC(PFNGLCREATEMEMORYOBJECTSEXTPROC, glCreateMemoryObjectsEXT);
GLEXT_PROC(PFNGLMEMORYOBJECTPARAMETERIVEXTPROC, glMemoryObjectParameterivEXT);
GLEXT_PROC(PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC, glGetMemoryObjectParameterivEXT);
GLEXT_PROC(PFNGLTEXSTORAGEMEM2DEXTPROC, glTexStorageMem2DEXT);
GLEXT_PROC(PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC, glTexStorageMem2DMultisampleEXT);
GLEXT_PROC(PFNGLTEXSTORAGEMEM3DEXTPROC, glTexStorageMem3DEXT);
GLEXT_PROC(PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC, glTexStorageMem3DMultisampleEXT);
GLEXT_PROC(PFNGLBUFFERSTORAGEMEMEXTPROC, glBufferStorageMemEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGEMEM2DEXTPROC, glTextureStorageMem2DEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC, glTextureStorageMem2DMultisampleEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGEMEM3DEXTPROC, glTextureStorageMem3DEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC, glTextureStorageMem3DMultisampleEXT);
GLEXT_PROC(PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC, glNamedBufferStorageMemEXT);
GLEXT_PROC(PFNGLTEXSTORAGEMEM1DEXTPROC, glTexStorageMem1DEXT);
GLEXT_PROC(PFNGLTEXTURESTORAGEMEM1DEXTPROC, glTextureStorageMem1DEXT);

// GL_EXT_memory_object_fd
GLEXT_PROC(PFNGLIMPORTMEMORYFDEXTPROC, glImportMemoryFdEXT);

// GL_EXT_memory_object_win32
GLEXT_PROC(PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC, glImportMemoryWin32HandleEXT);
GLEXT_PROC(PFNGLIMPORTMEMORYWIN32NAMEEXTPROC, glImportMemoryWin32NameEXT);

// GL_EXT_semaphore
GLEXT_PROC(PFNGLGENSEMAPHORESEXTPROC, glGenSemaphoresEXT);
GLEXT_PROC(PFNGLDELETESEMAPHORESEXTPROC, glDeleteSemaphoresEXT);
GLEXT_PROC(PFNGLISSEMAPHOREEXTPROC, glIsSemaphoreEXT);
GLEXT_PROC(PFNGLSEMAPHOREPARAMETERUI64VEXTPROC, glSemaphoreParameterui64vEXT);
GLEXT_PROC(PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC, glGetSemaphoreParameterui64vEXT);
GLEXT_PROC(PFNGLWAITSEMAPHOREEXTPROC, glWaitSemaphoreEXT);
GLEXT_PROC(PFNGLSIGNALSEMAPHOREEXTPROC, glSignalSemaphoreEXT);

// GL_EXT_semaphore_fd
GLEXT_PROC(PFNGLIMPORTSEMAPHOREFDEXTPROC, glImportSemaphoreFdEXT);

// GL_EXT_semaphore_win32
GLEXT_PROC(PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC, glImportSemaphoreWin32HandleEXT);
GLEXT_PROC(PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC, glImportSemaphoreWin32NameEXT);

// GL_EXT_shader_framebuffer_fetch_non_coherent
GLEXT_PROC(PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC, glFramebufferFetchBarrierEXT);

// GL_EXT_win32_keyed_mutex
GLEXT_PROC(PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC, glAcquireKeyedMutexWin32EXT);
GLEXT_PROC(PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC, glReleaseKeyedMutexWin32EXT);

// ---------------------------------------------------------------------------------
// GREMEDY
// ---------------------------------------------------------------------------------

// GL_GREMEDY_frame_terminator
GLEXT_PROC(PFNGLFRAMETERMINATORGREMEDYPROC, glFrameTerminatorGREMEDY);

// GL_GREMEDY_string_marker
GLEXT_PROC(PFNGLSTRINGMARKERGREMEDYPROC, glStringMarkerGREMEDY);

// ---------------------------------------------------------------------------------
// HP
// ---------------------------------------------------------------------------------

// GL_HP_image_transform
GLEXT_PROC(PFNGLIMAGETRANSFORMPARAMETERIHPPROC, glImageTransformParameteriHP);
GLEXT_PROC(PFNGLIMAGETRANSFORMPARAMETERFHPPROC, glImageTransformParameterfHP);
GLEXT_PROC(PFNGLIMAGETRANSFORMPARAMETERIVHPPROC, glImageTransformParameterivHP);
GLEXT_PROC(PFNGLIMAGETRANSFORMPARAMETERFVHPPROC, glImageTransformParameterfvHP);
GLEXT_PROC(PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC, glGetImageTransformParameterivHP);
GLEXT_PROC(PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC, glGetImageTransformParameterfvHP);

// ---------------------------------------------------------------------------------
// IBM
// ---------------------------------------------------------------------------------

// GL_IBM_multimode_draw_arrays
GLEXT_PROC(PFNGLMULTIMODEDRAWARRAYSIBMPROC, glMultiModeDrawArraysIBM);
GLEXT_PROC(PFNGLMULTIMODEDRAWELEMENTSIBMPROC, glMultiModeDrawElementsIBM);

// GL_IBM_static_data
GLEXT_PROC(PFNGLFLUSHSTATICDATAIBMPROC, glFlushStaticDataIBM);

// GL_IBM_vertex_array_lists
GLEXT_PROC(PFNGLCOLORPOINTERLISTIBMPROC, glColorPointerListIBM);
GLEXT_PROC(PFNGLSECONDARYCOLORPOINTERLISTIBMPROC, glSecondaryColorPointerListIBM);
GLEXT_PROC(PFNGLEDGEFLAGPOINTERLISTIBMPROC, glEdgeFlagPointerListIBM);
GLEXT_PROC(PFNGLFOGCOORDPOINTERLISTIBMPROC, glFogCoordPointerListIBM);
GLEXT_PROC(PFNGLINDEXPOINTERLISTIBMPROC, glIndexPointerListIBM);
GLEXT_PROC(PFNGLNORMALPOINTERLISTIBMPROC, glNormalPointerListIBM);
GLEXT_PROC(PFNGLTEXCOORDPOINTERLISTIBMPROC, glTexCoordPointerListIBM);
GLEXT_PROC(PFNGLVERTEXPOINTERLISTIBMPROC, glVertexPointerListIBM);

// ---------------------------------------------------------------------------------
// INGR
// ---------------------------------------------------------------------------------

// GL_INGR_blend_func_separate
GLEXT_PROC(PFNGLBLENDFUNCSEPARATEINGRPROC, glBlendFuncSeparateINGR);

// ---------------------------------------------------------------------------------
// INTEL
// ---------------------------------------------------------------------------------

// GL_INTEL_map_texture
GLEXT_PROC(PFNGLSYNCTEXTUREINTELPROC, glSyncTextureINTEL);
GLEXT_PROC(PFNGLUNMAPTEXTURE2DINTELPROC, glUnmapTexture2DINTEL);
GLEXT_PROC(PFNGLMAPTEXTURE2DINTELPROC, glMapTexture2DINTEL);

// GL_INTEL_parallel_arrays
GLEXT_PROC(PFNGLVERTEXPOINTERVINTELPROC, glVertexPointervINTEL);
GLEXT_PROC(PFNGLNORMALPOINTERVINTELPROC, glNormalPointervINTEL);
GLEXT_PROC(PFNGLCOLORPOINTERVINTELPROC, glColorPointervINTEL);
GLEXT_PROC(PFNGLTEXCOORDPOINTERVINTELPROC, glTexCoordPointervINTEL);

// GL_INTEL_performance_query
GLEXT_PROC(PFNGLBEGINPERFQUERYINTELPROC, glBeginPerfQueryINTEL);
GLEXT_PROC(PFNGLCREATEPERFQUERYINTELPROC, glCreatePerfQueryINTEL);
GLEXT_PROC(PFNGLDELETEPERFQUERYINTELPROC, glDeletePerfQueryINTEL);
GLEXT_PROC(PFNGLENDPERFQUERYINTELPROC, glEndPerfQueryINTEL);
GLEXT_PROC(PFNGLGETFIRSTPERFQUERYIDINTELPROC, glGetFirstPerfQueryIdINTEL);
GLEXT_PROC(PFNGLGETNEXTPERFQUERYIDINTELPROC, glGetNextPerfQueryIdINTEL);
GLEXT_PROC(PFNGLGETPERFCOUNTERINFOINTELPROC, glGetPerfCounterInfoINTEL);
GLEXT_PROC(PFNGLGETPERFQUERYDATAINTELPROC, glGetPerfQueryDataINTEL);
GLEXT_PROC(PFNGLGETPERFQUERYIDBYNAMEINTELPROC, glGetPerfQueryIdByNameINTEL);
GLEXT_PROC(PFNGLGETPERFQUERYINFOINTELPROC, glGetPerfQueryInfoINTEL);

// GL_INTEL_framebuffer_CMAA
GLEXT_PROC(PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC, glApplyFramebufferAttachmentCMAAINTEL);

// ---------------------------------------------------------------------------------
// MESA
// ---------------------------------------------------------------------------------

// GL_MESA_resize_buffers
GLEXT_PROC(PFNGLRESIZEBUFFERSMESAPROC, glResizeBuffersMESA);

// GL_MESA_window_pos
GLEXT_PROC(PFNGLWINDOWPOS2DMESAPROC, glWindowPos2dMESA);
GLEXT_PROC(PFNGLWINDOWPOS2DVMESAPROC, glWindowPos2dvMESA);
GLEXT_PROC(PFNGLWINDOWPOS2FMESAPROC, glWindowPos2fMESA);
GLEXT_PROC(PFNGLWINDOWPOS2FVMESAPROC, glWindowPos2fvMESA);
GLEXT_PROC(PFNGLWINDOWPOS2IMESAPROC, glWindowPos2iMESA);
GLEXT_PROC(PFNGLWINDOWPOS2IVMESAPROC, glWindowPos2ivMESA);
GLEXT_PROC(PFNGLWINDOWPOS2SMESAPROC, glWindowPos2sMESA);
GLEXT_PROC(PFNGLWINDOWPOS2SVMESAPROC, glWindowPos2svMESA);
GLEXT_PROC(PFNGLWINDOWPOS3DMESAPROC, glWindowPos3dMESA);
GLEXT_PROC(PFNGLWINDOWPOS3DVMESAPROC, glWindowPos3dvMESA);
GLEXT_PROC(PFNGLWINDOWPOS3FMESAPROC, glWindowPos3fMESA);
GLEXT_PROC(PFNGLWINDOWPOS3FVMESAPROC, glWindowPos3fvMESA);
GLEXT_PROC(PFNGLWINDOWPOS3IMESAPROC, glWindowPos3iMESA);
GLEXT_PROC(PFNGLWINDOWPOS3IVMESAPROC, glWindowPos3ivMESA);
GLEXT_PROC(PFNGLWINDOWPOS3SMESAPROC, glWindowPos3sMESA);
GLEXT_PROC(PFNGLWINDOWPOS3SVMESAPROC, glWindowPos3svMESA);
GLEXT_PROC(PFNGLWINDOWPOS4DMESAPROC, glWindowPos4dMESA);
GLEXT_PROC(PFNGLWINDOWPOS4DVMESAPROC, glWindowPos4dvMESA);
GLEXT_PROC(PFNGLWINDOWPOS4FMESAPROC, glWindowPos4fMESA);
GLEXT_PROC(PFNGLWINDOWPOS4FVMESAPROC, glWindowPos4fvMESA);
GLEXT_PROC(PFNGLWINDOWPOS4IMESAPROC, glWindowPos4iMESA);
GLEXT_PROC(PFNGLWINDOWPOS4IVMESAPROC, glWindowPos4ivMESA);
GLEXT_PROC(PFNGLWINDOWPOS4SMESAPROC, glWindowPos4sMESA);
GLEXT_PROC(PFNGLWINDOWPOS4SVMESAPROC, glWindowPos4svMESA);

// GL_MESA_framebuffer_flip_y
GLEXT_PROC(PFNGLFRAMEBUFFERPARAMETERIMESAPROC, glFramebufferParameteriMESA);
GLEXT_PROC(PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC, glGetFramebufferParameterivMESA);

// ---------------------------------------------------------------------------------
// NVX
// ---------------------------------------------------------------------------------

// GL_NVX_conditional_render
GLEXT_PROC(PFNGLBEGINCONDITIONALRENDERNVXPROC, glBeginConditionalRenderNVX);
GLEXT_PROC(PFNGLENDCONDITIONALRENDERNVXPROC, glEndConditionalRenderNVX);

// GL_NVX_gpu_multicast2
GLEXT_PROC(PFNGLUPLOADGPUMASKNVXPROC, glUploadGpuMaskNVX);
GLEXT_PROC(PFNGLMULTICASTVIEWPORTARRAYVNVXPROC, glMulticastViewportArrayvNVX);
GLEXT_PROC(PFNGLMULTICASTVIEWPORTPOSITIONWSCALENVXPROC, glMulticastViewportPositionWScaleNVX);
GLEXT_PROC(PFNGLMULTICASTSCISSORARRAYVNVXPROC, glMulticastScissorArrayvNVX);
GLEXT_PROC(PFNGLASYNCCOPYBUFFERSUBDATANVXPROC, glAsyncCopyBufferSubDataNVX);
GLEXT_PROC(PFNGLASYNCCOPYIMAGESUBDATANVXPROC, glAsyncCopyImageSubDataNVX);

// GL_NVX_progress_fence
GLEXT_PROC(PFNGLCREATEPROGRESSFENCENVXPROC, glCreateProgressFenceNVX);
GLEXT_PROC(PFNGLSIGNALSEMAPHOREUI64NVXPROC, glSignalSemaphoreui64NVX);
GLEXT_PROC(PFNGLWAITSEMAPHOREUI64NVXPROC, glWaitSemaphoreui64NVX);
GLEXT_PROC(PFNGLCLIENTWAITSEMAPHOREUI64NVXPROC, glClientWaitSemaphoreui64NVX);

// ---------------------------------------------------------------------------------
// NV
// ---------------------------------------------------------------------------------

// GL_NV_command_list
GLEXT_PROC(PFNGLCREATESTATESNVPROC, glCreateStatesNV);
GLEXT_PROC(PFNGLDELETESTATESNVPROC, glDeleteStatesNV);
GLEXT_PROC(PFNGLISSTATENVPROC, glIsStateNV);
GLEXT_PROC(PFNGLSTATECAPTURENVPROC, glStateCaptureNV);
GLEXT_PROC(PFNGLGETCOMMANDHEADERNVPROC, glGetCommandHeaderNV);
GLEXT_PROC(PFNGLGETSTAGEINDEXNVPROC, glGetStageIndexNV);
GLEXT_PROC(PFNGLDRAWCOMMANDSNVPROC, glDrawCommandsNV);
GLEXT_PROC(PFNGLDRAWCOMMANDSADDRESSNVPROC, glDrawCommandsAddressNV);
GLEXT_PROC(PFNGLDRAWCOMMANDSSTATESNVPROC, glDrawCommandsStatesNV);
GLEXT_PROC(PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC, glDrawCommandsStatesAddressNV);
GLEXT_PROC(PFNGLCREATECOMMANDLISTSNVPROC, glCreateCommandListsNV);
GLEXT_PROC(PFNGLDELETECOMMANDLISTSNVPROC, glDeleteCommandListsNV);
GLEXT_PROC(PFNGLISCOMMANDLISTNVPROC, glIsCommandListNV);
GLEXT_PROC(PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC, glListDrawCommandsStatesClientNV);
GLEXT_PROC(PFNGLCOMMANDLISTSEGMENTSNVPROC, glCommandListSegmentsNV);
GLEXT_PROC(PFNGLCOMPILECOMMANDLISTNVPROC, glCompileCommandListNV);
GLEXT_PROC(PFNGLCALLCOMMANDLISTNVPROC, glCallCommandListNV);

// GL_NV_bindless_multi_draw_indirect
GLEXT_PROC(PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC, glMultiDrawArraysIndirectBindlessNV);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC, glMultiDrawElementsIndirectBindlessNV);

// GL_NV_bindless_texture
GLEXT_PROC(PFNGLGETTEXTUREHANDLENVPROC, glGetTextureHandleNV);
GLEXT_PROC(PFNGLGETTEXTURESAMPLERHANDLENVPROC, glGetTextureSamplerHandleNV);
GLEXT_PROC(PFNGLMAKETEXTUREHANDLERESIDENTNVPROC, glMakeTextureHandleResidentNV);
GLEXT_PROC(PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC, glMakeTextureHandleNonResidentNV);
GLEXT_PROC(PFNGLGETIMAGEHANDLENVPROC, glGetImageHandleNV);
GLEXT_PROC(PFNGLMAKEIMAGEHANDLERESIDENTNVPROC, glMakeImageHandleResidentNV);
GLEXT_PROC(PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC, glMakeImageHandleNonResidentNV);
GLEXT_PROC(PFNGLUNIFORMHANDLEUI64NVPROC, glUniformHandleui64NV);
GLEXT_PROC(PFNGLUNIFORMHANDLEUI64VNVPROC, glUniformHandleui64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC, glProgramUniformHandleui64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC, glProgramUniformHandleui64vNV);
GLEXT_PROC(PFNGLISTEXTUREHANDLERESIDENTNVPROC, glIsTextureHandleResidentNV);
GLEXT_PROC(PFNGLISIMAGEHANDLERESIDENTNVPROC, glIsImageHandleResidentNV);

// GL_NV_blend_equation_advanced
GLEXT_PROC(PFNGLBLENDPARAMETERINVPROC, glBlendParameteriNV);
GLEXT_PROC(PFNGLBLENDBARRIERNVPROC, glBlendBarrierNV);

// GL_NV_conditional_render
GLEXT_PROC(PFNGLBEGINCONDITIONALRENDERNVPROC, glBeginConditionalRenderNV);
GLEXT_PROC(PFNGLENDCONDITIONALRENDERNVPROC, glEndConditionalRenderNV);

// GL_NV_conservative_raster
GLEXT_PROC(PFNGLSUBPIXELPRECISIONBIASNVPROC, glSubpixelPrecisionBiasNV);

// GL_NV_copy_image
GLEXT_PROC(PFNGLCOPYIMAGESUBDATANVPROC, glCopyImageSubDataNV);

// GL_NV_depth_buffer_float
GLEXT_PROC(PFNGLDEPTHRANGEDNVPROC, glDepthRangedNV);
GLEXT_PROC(PFNGLCLEARDEPTHDNVPROC, glClearDepthdNV);
GLEXT_PROC(PFNGLDEPTHBOUNDSDNVPROC, glDepthBoundsdNV);

// GL_NV_draw_texture
GLEXT_PROC(PFNGLDRAWTEXTURENVPROC, glDrawTextureNV);

// GL_NV_evaluators
GLEXT_PROC(PFNGLMAPCONTROLPOINTSNVPROC, glMapControlPointsNV);
GLEXT_PROC(PFNGLMAPPARAMETERIVNVPROC, glMapParameterivNV);
GLEXT_PROC(PFNGLMAPPARAMETERFVNVPROC, glMapParameterfvNV);
GLEXT_PROC(PFNGLGETMAPCONTROLPOINTSNVPROC, glGetMapControlPointsNV);
GLEXT_PROC(PFNGLGETMAPPARAMETERIVNVPROC, glGetMapParameterivNV);
GLEXT_PROC(PFNGLGETMAPPARAMETERFVNVPROC, glGetMapParameterfvNV);
GLEXT_PROC(PFNGLGETMAPATTRIBPARAMETERIVNVPROC, glGetMapAttribParameterivNV);
GLEXT_PROC(PFNGLGETMAPATTRIBPARAMETERFVNVPROC, glGetMapAttribParameterfvNV);
GLEXT_PROC(PFNGLEVALMAPSNVPROC, glEvalMapsNV);

// GL_NV_explicit_multisample
GLEXT_PROC(PFNGLGETMULTISAMPLEFVNVPROC, glGetMultisamplefvNV);
GLEXT_PROC(PFNGLSAMPLEMASKINDEXEDNVPROC, glSampleMaskIndexedNV);
GLEXT_PROC(PFNGLTEXRENDERBUFFERNVPROC, glTexRenderbufferNV);

// GL_NV_fence
GLEXT_PROC(PFNGLDELETEFENCESNVPROC, glDeleteFencesNV);
GLEXT_PROC(PFNGLGENFENCESNVPROC, glGenFencesNV);
GLEXT_PROC(PFNGLISFENCENVPROC, glIsFenceNV);
GLEXT_PROC(PFNGLTESTFENCENVPROC, glTestFenceNV);
GLEXT_PROC(PFNGLGETFENCEIVNVPROC, glGetFenceivNV);
GLEXT_PROC(PFNGLFINISHFENCENVPROC, glFinishFenceNV);
GLEXT_PROC(PFNGLSETFENCENVPROC, glSetFenceNV);

// GL_NV_fragment_coverage_to_color
GLEXT_PROC(PFNGLFRAGMENTCOVERAGECOLORNVPROC, glFragmentCoverageColorNV);

// GL_NV_fragment_program
GLEXT_PROC(PFNGLPROGRAMNAMEDPARAMETER4FNVPROC, glProgramNamedParameter4fNV);
GLEXT_PROC(PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC, glProgramNamedParameter4fvNV);
GLEXT_PROC(PFNGLPROGRAMNAMEDPARAMETER4DNVPROC, glProgramNamedParameter4dNV);
GLEXT_PROC(PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC, glProgramNamedParameter4dvNV);
GLEXT_PROC(PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC, glGetProgramNamedParameterfvNV);
GLEXT_PROC(PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC, glGetProgramNamedParameterdvNV);

// GL_NV_framebuffer_mixed_samples
GLEXT_PROC(PFNGLCOVERAGEMODULATIONTABLENVPROC, glCoverageModulationTableNV);
GLEXT_PROC(PFNGLGETCOVERAGEMODULATIONTABLENVPROC, glGetCoverageModulationTableNV);
GLEXT_PROC(PFNGLCOVERAGEMODULATIONNVPROC, glCoverageModulationNV);

// GL_NV_framebuffer_multisample_coverage
GLEXT_PROC(PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC, glRenderbufferStorageMultisampleCoverageNV);

// GL_NV_geometry_program4
GLEXT_PROC(PFNGLPROGRAMVERTEXLIMITNVPROC, glProgramVertexLimitNV);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTUREEXTPROC, glFramebufferTextureEXT);
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC, glFramebufferTextureFaceEXT);

// GL_NV_gpu_program4
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERI4INVPROC, glProgramLocalParameterI4iNV);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC, glProgramLocalParameterI4ivNV);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC, glProgramLocalParametersI4ivNV);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERI4UINVPROC, glProgramLocalParameterI4uiNV);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC, glProgramLocalParameterI4uivNV);
GLEXT_PROC(PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC, glProgramLocalParametersI4uivNV);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERI4INVPROC, glProgramEnvParameterI4iNV);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERI4IVNVPROC, glProgramEnvParameterI4ivNV);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERSI4IVNVPROC, glProgramEnvParametersI4ivNV);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERI4UINVPROC, glProgramEnvParameterI4uiNV);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERI4UIVNVPROC, glProgramEnvParameterI4uivNV);
GLEXT_PROC(PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC, glProgramEnvParametersI4uivNV);
GLEXT_PROC(PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC, glGetProgramLocalParameterIivNV);
GLEXT_PROC(PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC, glGetProgramLocalParameterIuivNV);
GLEXT_PROC(PFNGLGETPROGRAMENVPARAMETERIIVNVPROC, glGetProgramEnvParameterIivNV);
GLEXT_PROC(PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC, glGetProgramEnvParameterIuivNV);

// GL_NV_gpu_program5
GLEXT_PROC(PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC, glProgramSubroutineParametersuivNV);
GLEXT_PROC(PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC, glGetProgramSubroutineParameteruivNV);

// GL_NV_half_float
GLEXT_PROC(PFNGLVERTEX2HNVPROC, glVertex2hNV);
GLEXT_PROC(PFNGLVERTEX2HVNVPROC, glVertex2hvNV);
GLEXT_PROC(PFNGLVERTEX3HNVPROC, glVertex3hNV);
GLEXT_PROC(PFNGLVERTEX3HVNVPROC, glVertex3hvNV);
GLEXT_PROC(PFNGLVERTEX4HNVPROC, glVertex4hNV);
GLEXT_PROC(PFNGLVERTEX4HVNVPROC, glVertex4hvNV);
GLEXT_PROC(PFNGLNORMAL3HNVPROC, glNormal3hNV);
GLEXT_PROC(PFNGLNORMAL3HVNVPROC, glNormal3hvNV);
GLEXT_PROC(PFNGLCOLOR3HNVPROC, glColor3hNV);
GLEXT_PROC(PFNGLCOLOR3HVNVPROC, glColor3hvNV);
GLEXT_PROC(PFNGLCOLOR4HNVPROC, glColor4hNV);
GLEXT_PROC(PFNGLCOLOR4HVNVPROC, glColor4hvNV);
GLEXT_PROC(PFNGLTEXCOORD1HNVPROC, glTexCoord1hNV);
GLEXT_PROC(PFNGLTEXCOORD1HVNVPROC, glTexCoord1hvNV);
GLEXT_PROC(PFNGLTEXCOORD2HNVPROC, glTexCoord2hNV);
GLEXT_PROC(PFNGLTEXCOORD2HVNVPROC, glTexCoord2hvNV);
GLEXT_PROC(PFNGLTEXCOORD3HNVPROC, glTexCoord3hNV);
GLEXT_PROC(PFNGLTEXCOORD3HVNVPROC, glTexCoord3hvNV);
GLEXT_PROC(PFNGLTEXCOORD4HNVPROC, glTexCoord4hNV);
GLEXT_PROC(PFNGLTEXCOORD4HVNVPROC, glTexCoord4hvNV);
GLEXT_PROC(PFNGLMULTITEXCOORD1HNVPROC, glMultiTexCoord1hNV);
GLEXT_PROC(PFNGLMULTITEXCOORD1HVNVPROC, glMultiTexCoord1hvNV);
GLEXT_PROC(PFNGLMULTITEXCOORD2HNVPROC, glMultiTexCoord2hNV);
GLEXT_PROC(PFNGLMULTITEXCOORD2HVNVPROC, glMultiTexCoord2hvNV);
GLEXT_PROC(PFNGLMULTITEXCOORD3HNVPROC, glMultiTexCoord3hNV);
GLEXT_PROC(PFNGLMULTITEXCOORD3HVNVPROC, glMultiTexCoord3hvNV);
GLEXT_PROC(PFNGLMULTITEXCOORD4HNVPROC, glMultiTexCoord4hNV);
GLEXT_PROC(PFNGLMULTITEXCOORD4HVNVPROC, glMultiTexCoord4hvNV);
GLEXT_PROC(PFNGLFOGCOORDHNVPROC, glFogCoordhNV);
GLEXT_PROC(PFNGLFOGCOORDHVNVPROC, glFogCoordhvNV);
GLEXT_PROC(PFNGLSECONDARYCOLOR3HNVPROC, glSecondaryColor3hNV);
GLEXT_PROC(PFNGLSECONDARYCOLOR3HVNVPROC, glSecondaryColor3hvNV);
GLEXT_PROC(PFNGLVERTEXWEIGHTHNVPROC, glVertexWeighthNV);
GLEXT_PROC(PFNGLVERTEXWEIGHTHVNVPROC, glVertexWeighthvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1HNVPROC, glVertexAttrib1hNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1HVNVPROC, glVertexAttrib1hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2HNVPROC, glVertexAttrib2hNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2HVNVPROC, glVertexAttrib2hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3HNVPROC, glVertexAttrib3hNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3HVNVPROC, glVertexAttrib3hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4HNVPROC, glVertexAttrib4hNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4HVNVPROC, glVertexAttrib4hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS1HVNVPROC, glVertexAttribs1hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS2HVNVPROC, glVertexAttribs2hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS3HVNVPROC, glVertexAttribs3hvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS4HVNVPROC, glVertexAttribs4hvNV);

// GL_NV_occlusion_query
GLEXT_PROC(PFNGLGENOCCLUSIONQUERIESNVPROC, glGenOcclusionQueriesNV);
GLEXT_PROC(PFNGLDELETEOCCLUSIONQUERIESNVPROC, glDeleteOcclusionQueriesNV);
GLEXT_PROC(PFNGLISOCCLUSIONQUERYNVPROC, glIsOcclusionQueryNV);
GLEXT_PROC(PFNGLBEGINOCCLUSIONQUERYNVPROC, glBeginOcclusionQueryNV);
GLEXT_PROC(PFNGLENDOCCLUSIONQUERYNVPROC, glEndOcclusionQueryNV);
GLEXT_PROC(PFNGLGETOCCLUSIONQUERYIVNVPROC, glGetOcclusionQueryivNV);
GLEXT_PROC(PFNGLGETOCCLUSIONQUERYUIVNVPROC, glGetOcclusionQueryuivNV);

// GL_NV_parameter_buffer_object
GLEXT_PROC(PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC, glProgramBufferParametersfvNV);
GLEXT_PROC(PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC, glProgramBufferParametersIivNV);
GLEXT_PROC(PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC, glProgramBufferParametersIuivNV);

// GL_NV_path_rendering
GLEXT_PROC(PFNGLGENPATHSNVPROC, glGenPathsNV);
GLEXT_PROC(PFNGLDELETEPATHSNVPROC, glDeletePathsNV);
GLEXT_PROC(PFNGLISPATHNVPROC, glIsPathNV);
GLEXT_PROC(PFNGLPATHCOMMANDSNVPROC, glPathCommandsNV);
GLEXT_PROC(PFNGLPATHCOORDSNVPROC, glPathCoordsNV);
GLEXT_PROC(PFNGLPATHSUBCOMMANDSNVPROC, glPathSubCommandsNV);
GLEXT_PROC(PFNGLPATHSUBCOORDSNVPROC, glPathSubCoordsNV);
GLEXT_PROC(PFNGLPATHSTRINGNVPROC, glPathStringNV);
GLEXT_PROC(PFNGLPATHGLYPHSNVPROC, glPathGlyphsNV);
GLEXT_PROC(PFNGLPATHGLYPHRANGENVPROC, glPathGlyphRangeNV);
GLEXT_PROC(PFNGLWEIGHTPATHSNVPROC, glWeightPathsNV);
GLEXT_PROC(PFNGLCOPYPATHNVPROC, glCopyPathNV);
GLEXT_PROC(PFNGLINTERPOLATEPATHSNVPROC, glInterpolatePathsNV);
GLEXT_PROC(PFNGLTRANSFORMPATHNVPROC, glTransformPathNV);
GLEXT_PROC(PFNGLPATHPARAMETERIVNVPROC, glPathParameterivNV);
GLEXT_PROC(PFNGLPATHPARAMETERINVPROC, glPathParameteriNV);
GLEXT_PROC(PFNGLPATHPARAMETERFVNVPROC, glPathParameterfvNV);
GLEXT_PROC(PFNGLPATHPARAMETERFNVPROC, glPathParameterfNV);
GLEXT_PROC(PFNGLPATHDASHARRAYNVPROC, glPathDashArrayNV);
GLEXT_PROC(PFNGLPATHSTENCILFUNCNVPROC, glPathStencilFuncNV);
GLEXT_PROC(PFNGLPATHSTENCILDEPTHOFFSETNVPROC, glPathStencilDepthOffsetNV);
GLEXT_PROC(PFNGLSTENCILFILLPATHNVPROC, glStencilFillPathNV);
GLEXT_PROC(PFNGLSTENCILSTROKEPATHNVPROC, glStencilStrokePathNV);
GLEXT_PROC(PFNGLSTENCILFILLPATHINSTANCEDNVPROC, glStencilFillPathInstancedNV);
GLEXT_PROC(PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC, glStencilStrokePathInstancedNV);
GLEXT_PROC(PFNGLPATHCOVERDEPTHFUNCNVPROC, glPathCoverDepthFuncNV);
GLEXT_PROC(PFNGLPATHCOLORGENNVPROC, glPathColorGenNV);
GLEXT_PROC(PFNGLPATHTEXGENNVPROC, glPathTexGenNV);
GLEXT_PROC(PFNGLPATHFOGGENNVPROC, glPathFogGenNV);
GLEXT_PROC(PFNGLCOVERFILLPATHNVPROC, glCoverFillPathNV);
GLEXT_PROC(PFNGLCOVERSTROKEPATHNVPROC, glCoverStrokePathNV);
GLEXT_PROC(PFNGLCOVERFILLPATHINSTANCEDNVPROC, glCoverFillPathInstancedNV);
GLEXT_PROC(PFNGLCOVERSTROKEPATHINSTANCEDNVPROC, glCoverStrokePathInstancedNV);
GLEXT_PROC(PFNGLGETPATHPARAMETERIVNVPROC, glGetPathParameterivNV);
GLEXT_PROC(PFNGLGETPATHPARAMETERFVNVPROC, glGetPathParameterfvNV);
GLEXT_PROC(PFNGLGETPATHCOMMANDSNVPROC, glGetPathCommandsNV);
GLEXT_PROC(PFNGLGETPATHCOORDSNVPROC, glGetPathCoordsNV);
GLEXT_PROC(PFNGLGETPATHDASHARRAYNVPROC, glGetPathDashArrayNV);
GLEXT_PROC(PFNGLGETPATHMETRICSNVPROC, glGetPathMetricsNV);
GLEXT_PROC(PFNGLGETPATHMETRICRANGENVPROC, glGetPathMetricRangeNV);
GLEXT_PROC(PFNGLGETPATHSPACINGNVPROC, glGetPathSpacingNV);
GLEXT_PROC(PFNGLGETPATHCOLORGENIVNVPROC, glGetPathColorGenivNV);
GLEXT_PROC(PFNGLGETPATHCOLORGENFVNVPROC, glGetPathColorGenfvNV);
GLEXT_PROC(PFNGLGETPATHTEXGENIVNVPROC, glGetPathTexGenivNV);
GLEXT_PROC(PFNGLGETPATHTEXGENFVNVPROC, glGetPathTexGenfvNV);
GLEXT_PROC(PFNGLISPOINTINFILLPATHNVPROC, glIsPointInFillPathNV);
GLEXT_PROC(PFNGLISPOINTINSTROKEPATHNVPROC, glIsPointInStrokePathNV);
GLEXT_PROC(PFNGLGETPATHLENGTHNVPROC, glGetPathLengthNV);
GLEXT_PROC(PFNGLPOINTALONGPATHNVPROC, glPointAlongPathNV);
GLEXT_PROC(PFNGLMATRIXLOAD3X2FNVPROC, glMatrixLoad3x2fNV);
GLEXT_PROC(PFNGLMATRIXLOAD3X3FNVPROC, glMatrixLoad3x3fNV);
GLEXT_PROC(PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC, glMatrixLoadTranspose3x3fNV);
GLEXT_PROC(PFNGLMATRIXMULT3X2FNVPROC, glMatrixMult3x2fNV);
GLEXT_PROC(PFNGLMATRIXMULT3X3FNVPROC, glMatrixMult3x3fNV);
GLEXT_PROC(PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC, glMatrixMultTranspose3x3fNV);
GLEXT_PROC(PFNGLSTENCILTHENCOVERFILLPATHNVPROC, glStencilThenCoverFillPathNV);
GLEXT_PROC(PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC, glStencilThenCoverStrokePathNV);
GLEXT_PROC(PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC, glStencilThenCoverFillPathInstancedNV);
GLEXT_PROC(PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC, glStencilThenCoverStrokePathInstancedNV);
GLEXT_PROC(PFNGLPATHGLYPHINDEXRANGENVPROC, glPathGlyphIndexRangeNV);
GLEXT_PROC(PFNGLPATHGLYPHINDEXARRAYNVPROC, glPathGlyphIndexArrayNV);
GLEXT_PROC(PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC, glPathMemoryGlyphIndexArrayNV);
GLEXT_PROC(PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC, glProgramPathFragmentInputGenNV);
GLEXT_PROC(PFNGLGETPROGRAMRESOURCEFVNVPROC, glGetProgramResourcefvNV);

// GL_NV_pixel_data_range
GLEXT_PROC(PFNGLPIXELDATARANGENVPROC, glPixelDataRangeNV);
GLEXT_PROC(PFNGLFLUSHPIXELDATARANGENVPROC, glFlushPixelDataRangeNV);

// GL_NV_point_sprite
GLEXT_PROC(PFNGLPOINTPARAMETERINVPROC, glPointParameteriNV);
GLEXT_PROC(PFNGLPOINTPARAMETERIVNVPROC, glPointParameterivNV);

// GL_NV_present_video
GLEXT_PROC(PFNGLPRESENTFRAMEKEYEDNVPROC, glPresentFrameKeyedNV);
GLEXT_PROC(PFNGLPRESENTFRAMEDUALFILLNVPROC, glPresentFrameDualFillNV);
GLEXT_PROC(PFNGLGETVIDEOIVNVPROC, glGetVideoivNV);
GLEXT_PROC(PFNGLGETVIDEOUIVNVPROC, glGetVideouivNV);
GLEXT_PROC(PFNGLGETVIDEOI64VNVPROC, glGetVideoi64vNV);
GLEXT_PROC(PFNGLGETVIDEOUI64VNVPROC, glGetVideoui64vNV);

// GL_NV_primitive_restart
GLEXT_PROC(PFNGLPRIMITIVERESTARTNVPROC, glPrimitiveRestartNV);
GLEXT_PROC(PFNGLPRIMITIVERESTARTINDEXNVPROC, glPrimitiveRestartIndexNV);

// GL_NV_register_combiners
GLEXT_PROC(PFNGLCOMBINERPARAMETERFVNVPROC, glCombinerParameterfvNV);
GLEXT_PROC(PFNGLCOMBINERPARAMETERFNVPROC, glCombinerParameterfNV);
GLEXT_PROC(PFNGLCOMBINERPARAMETERIVNVPROC, glCombinerParameterivNV);
GLEXT_PROC(PFNGLCOMBINERPARAMETERINVPROC, glCombinerParameteriNV);
GLEXT_PROC(PFNGLCOMBINERINPUTNVPROC, glCombinerInputNV);
GLEXT_PROC(PFNGLCOMBINEROUTPUTNVPROC, glCombinerOutputNV);
GLEXT_PROC(PFNGLFINALCOMBINERINPUTNVPROC, glFinalCombinerInputNV);
GLEXT_PROC(PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC, glGetCombinerInputParameterfvNV);
GLEXT_PROC(PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC, glGetCombinerInputParameterivNV);
GLEXT_PROC(PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC, glGetCombinerOutputParameterfvNV);
GLEXT_PROC(PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC, glGetCombinerOutputParameterivNV);
GLEXT_PROC(PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC, glGetFinalCombinerInputParameterfvNV);
GLEXT_PROC(PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC, glGetFinalCombinerInputParameterivNV);

// GL_NV_register_combiners2
GLEXT_PROC(PFNGLCOMBINERSTAGEPARAMETERFVNVPROC, glCombinerStageParameterfvNV);
GLEXT_PROC(PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC, glGetCombinerStageParameterfvNV);

// GL_NV_sample_locations
GLEXT_PROC(PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC, glFramebufferSampleLocationsfvNV);
GLEXT_PROC(PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC, glNamedFramebufferSampleLocationsfvNV);
GLEXT_PROC(PFNGLRESOLVEDEPTHVALUESNVPROC, glResolveDepthValuesNV);

// GL_NV_shader_buffer_load
GLEXT_PROC(PFNGLMAKEBUFFERRESIDENTNVPROC, glMakeBufferResidentNV);
GLEXT_PROC(PFNGLMAKEBUFFERNONRESIDENTNVPROC, glMakeBufferNonResidentNV);
GLEXT_PROC(PFNGLISBUFFERRESIDENTNVPROC, glIsBufferResidentNV);
GLEXT_PROC(PFNGLMAKENAMEDBUFFERRESIDENTNVPROC, glMakeNamedBufferResidentNV);
GLEXT_PROC(PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC, glMakeNamedBufferNonResidentNV);
GLEXT_PROC(PFNGLISNAMEDBUFFERRESIDENTNVPROC, glIsNamedBufferResidentNV);
GLEXT_PROC(PFNGLGETBUFFERPARAMETERUI64VNVPROC, glGetBufferParameterui64vNV);
GLEXT_PROC(PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC, glGetNamedBufferParameterui64vNV);
GLEXT_PROC(PFNGLGETINTEGERUI64VNVPROC, glGetIntegerui64vNV);
GLEXT_PROC(PFNGLUNIFORMUI64NVPROC, glUniformui64NV);
GLEXT_PROC(PFNGLUNIFORMUI64VNVPROC, glUniformui64vNV);
GLEXT_PROC(PFNGLPROGRAMUNIFORMUI64NVPROC, glProgramUniformui64NV);
GLEXT_PROC(PFNGLPROGRAMUNIFORMUI64VNVPROC, glProgramUniformui64vNV);
//GLEXT_PROC(PFNGLGETUNIFORMUI64VNVPROC, glGetUniformui64vNV);

// GL_NV_texture_barrier
GLEXT_PROC(PFNGLTEXTUREBARRIERNVPROC, glTextureBarrierNV);

// GL_NV_texture_multisample
GLEXT_PROC(PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC, glTexImage2DMultisampleCoverageNV);
GLEXT_PROC(PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC, glTexImage3DMultisampleCoverageNV);
GLEXT_PROC(PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC, glTextureImage2DMultisampleNV);
GLEXT_PROC(PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC, glTextureImage3DMultisampleNV);
GLEXT_PROC(PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC, glTextureImage2DMultisampleCoverageNV);
GLEXT_PROC(PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC, glTextureImage3DMultisampleCoverageNV);

// GL_NV_transform_feedback
GLEXT_PROC(PFNGLBEGINTRANSFORMFEEDBACKNVPROC, glBeginTransformFeedbackNV);
GLEXT_PROC(PFNGLENDTRANSFORMFEEDBACKNVPROC, glEndTransformFeedbackNV);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC, glTransformFeedbackAttribsNV);
GLEXT_PROC(PFNGLBINDBUFFERRANGENVPROC, glBindBufferRangeNV);
GLEXT_PROC(PFNGLBINDBUFFEROFFSETNVPROC, glBindBufferOffsetNV);
GLEXT_PROC(PFNGLBINDBUFFERBASENVPROC, glBindBufferBaseNV);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC, glTransformFeedbackVaryingsNV);
GLEXT_PROC(PFNGLACTIVEVARYINGNVPROC, glActiveVaryingNV);
GLEXT_PROC(PFNGLGETVARYINGLOCATIONNVPROC, glGetVaryingLocationNV);
GLEXT_PROC(PFNGLGETACTIVEVARYINGNVPROC, glGetActiveVaryingNV);
GLEXT_PROC(PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC, glGetTransformFeedbackVaryingNV);
GLEXT_PROC(PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC, glTransformFeedbackStreamAttribsNV);

// GL_NV_transform_feedback2
GLEXT_PROC(PFNGLBINDTRANSFORMFEEDBACKNVPROC, glBindTransformFeedbackNV);
GLEXT_PROC(PFNGLDELETETRANSFORMFEEDBACKSNVPROC, glDeleteTransformFeedbacksNV);
GLEXT_PROC(PFNGLGENTRANSFORMFEEDBACKSNVPROC, glGenTransformFeedbacksNV);
GLEXT_PROC(PFNGLISTRANSFORMFEEDBACKNVPROC, glIsTransformFeedbackNV);
GLEXT_PROC(PFNGLPAUSETRANSFORMFEEDBACKNVPROC, glPauseTransformFeedbackNV);
GLEXT_PROC(PFNGLRESUMETRANSFORMFEEDBACKNVPROC, glResumeTransformFeedbackNV);
GLEXT_PROC(PFNGLDRAWTRANSFORMFEEDBACKNVPROC, glDrawTransformFeedbackNV);

// GL_NV_vdpau_interop
GLEXT_PROC(PFNGLVDPAUINITNVPROC, glVDPAUInitNV);
GLEXT_PROC(PFNGLVDPAUFININVPROC, glVDPAUFiniNV);
GLEXT_PROC(PFNGLVDPAUREGISTERVIDEOSURFACENVPROC, glVDPAURegisterVideoSurfaceNV);
GLEXT_PROC(PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC, glVDPAURegisterOutputSurfaceNV);
GLEXT_PROC(PFNGLVDPAUISSURFACENVPROC, glVDPAUIsSurfaceNV);
GLEXT_PROC(PFNGLVDPAUUNREGISTERSURFACENVPROC, glVDPAUUnregisterSurfaceNV);
GLEXT_PROC(PFNGLVDPAUGETSURFACEIVNVPROC, glVDPAUGetSurfaceivNV);
GLEXT_PROC(PFNGLVDPAUSURFACEACCESSNVPROC, glVDPAUSurfaceAccessNV);
GLEXT_PROC(PFNGLVDPAUMAPSURFACESNVPROC, glVDPAUMapSurfacesNV);
GLEXT_PROC(PFNGLVDPAUUNMAPSURFACESNVPROC, glVDPAUUnmapSurfacesNV);

// GL_NV_vertex_array_range
GLEXT_PROC(PFNGLFLUSHVERTEXARRAYRANGENVPROC, glFlushVertexArrayRangeNV);
GLEXT_PROC(PFNGLVERTEXARRAYRANGENVPROC, glVertexArrayRangeNV);

// GL_NV_vertex_attrib_integer_64bit
GLEXT_PROC(PFNGLVERTEXATTRIBL1I64NVPROC, glVertexAttribL1i64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL2I64NVPROC, glVertexAttribL2i64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL3I64NVPROC, glVertexAttribL3i64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL4I64NVPROC, glVertexAttribL4i64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL1I64VNVPROC, glVertexAttribL1i64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL2I64VNVPROC, glVertexAttribL2i64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL3I64VNVPROC, glVertexAttribL3i64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL4I64VNVPROC, glVertexAttribL4i64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL1UI64NVPROC, glVertexAttribL1ui64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL2UI64NVPROC, glVertexAttribL2ui64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL3UI64NVPROC, glVertexAttribL3ui64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL4UI64NVPROC, glVertexAttribL4ui64NV);
GLEXT_PROC(PFNGLVERTEXATTRIBL1UI64VNVPROC, glVertexAttribL1ui64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL2UI64VNVPROC, glVertexAttribL2ui64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL3UI64VNVPROC, glVertexAttribL3ui64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBL4UI64VNVPROC, glVertexAttribL4ui64vNV);
GLEXT_PROC(PFNGLGETVERTEXATTRIBLI64VNVPROC, glGetVertexAttribLi64vNV);
GLEXT_PROC(PFNGLGETVERTEXATTRIBLUI64VNVPROC, glGetVertexAttribLui64vNV);
GLEXT_PROC(PFNGLVERTEXATTRIBLFORMATNVPROC, glVertexAttribLFormatNV);

// GL_NV_vertex_buffer_unified_memory
GLEXT_PROC(PFNGLBUFFERADDRESSRANGENVPROC, glBufferAddressRangeNV);
GLEXT_PROC(PFNGLVERTEXFORMATNVPROC, glVertexFormatNV);
GLEXT_PROC(PFNGLNORMALFORMATNVPROC, glNormalFormatNV);
GLEXT_PROC(PFNGLCOLORFORMATNVPROC, glColorFormatNV);
GLEXT_PROC(PFNGLINDEXFORMATNVPROC, glIndexFormatNV);
GLEXT_PROC(PFNGLTEXCOORDFORMATNVPROC, glTexCoordFormatNV);
GLEXT_PROC(PFNGLEDGEFLAGFORMATNVPROC, glEdgeFlagFormatNV);
GLEXT_PROC(PFNGLSECONDARYCOLORFORMATNVPROC, glSecondaryColorFormatNV);
GLEXT_PROC(PFNGLFOGCOORDFORMATNVPROC, glFogCoordFormatNV);
GLEXT_PROC(PFNGLVERTEXATTRIBFORMATNVPROC, glVertexAttribFormatNV);
GLEXT_PROC(PFNGLVERTEXATTRIBIFORMATNVPROC, glVertexAttribIFormatNV);
GLEXT_PROC(PFNGLGETINTEGERUI64I_VNVPROC, glGetIntegerui64i_vNV);

// GL_NV_vertex_program
GLEXT_PROC(PFNGLAREPROGRAMSRESIDENTNVPROC, glAreProgramsResidentNV);
GLEXT_PROC(PFNGLBINDPROGRAMNVPROC, glBindProgramNV);
GLEXT_PROC(PFNGLDELETEPROGRAMSNVPROC, glDeleteProgramsNV);
GLEXT_PROC(PFNGLEXECUTEPROGRAMNVPROC, glExecuteProgramNV);
GLEXT_PROC(PFNGLGENPROGRAMSNVPROC, glGenProgramsNV);
GLEXT_PROC(PFNGLGETPROGRAMPARAMETERDVNVPROC, glGetProgramParameterdvNV);
GLEXT_PROC(PFNGLGETPROGRAMPARAMETERFVNVPROC, glGetProgramParameterfvNV);
GLEXT_PROC(PFNGLGETPROGRAMIVNVPROC, glGetProgramivNV);
GLEXT_PROC(PFNGLGETPROGRAMSTRINGNVPROC, glGetProgramStringNV);
GLEXT_PROC(PFNGLGETTRACKMATRIXIVNVPROC, glGetTrackMatrixivNV);
GLEXT_PROC(PFNGLGETVERTEXATTRIBDVNVPROC, glGetVertexAttribdvNV);
GLEXT_PROC(PFNGLGETVERTEXATTRIBFVNVPROC, glGetVertexAttribfvNV);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIVNVPROC, glGetVertexAttribivNV);
GLEXT_PROC(PFNGLGETVERTEXATTRIBPOINTERVNVPROC, glGetVertexAttribPointervNV);
GLEXT_PROC(PFNGLISPROGRAMNVPROC, glIsProgramNV);
GLEXT_PROC(PFNGLLOADPROGRAMNVPROC, glLoadProgramNV);
GLEXT_PROC(PFNGLPROGRAMPARAMETER4DNVPROC, glProgramParameter4dNV);
GLEXT_PROC(PFNGLPROGRAMPARAMETER4DVNVPROC, glProgramParameter4dvNV);
GLEXT_PROC(PFNGLPROGRAMPARAMETER4FNVPROC, glProgramParameter4fNV);
GLEXT_PROC(PFNGLPROGRAMPARAMETER4FVNVPROC, glProgramParameter4fvNV);
GLEXT_PROC(PFNGLPROGRAMPARAMETERS4DVNVPROC, glProgramParameters4dvNV);
GLEXT_PROC(PFNGLPROGRAMPARAMETERS4FVNVPROC, glProgramParameters4fvNV);
GLEXT_PROC(PFNGLREQUESTRESIDENTPROGRAMSNVPROC, glRequestResidentProgramsNV);
GLEXT_PROC(PFNGLTRACKMATRIXNVPROC, glTrackMatrixNV);
GLEXT_PROC(PFNGLVERTEXATTRIBPOINTERNVPROC, glVertexAttribPointerNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1DNVPROC, glVertexAttrib1dNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1DVNVPROC, glVertexAttrib1dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1FNVPROC, glVertexAttrib1fNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1FVNVPROC, glVertexAttrib1fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1SNVPROC, glVertexAttrib1sNV);
GLEXT_PROC(PFNGLVERTEXATTRIB1SVNVPROC, glVertexAttrib1svNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2DNVPROC, glVertexAttrib2dNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2DVNVPROC, glVertexAttrib2dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2FNVPROC, glVertexAttrib2fNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2FVNVPROC, glVertexAttrib2fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2SNVPROC, glVertexAttrib2sNV);
GLEXT_PROC(PFNGLVERTEXATTRIB2SVNVPROC, glVertexAttrib2svNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3DNVPROC, glVertexAttrib3dNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3DVNVPROC, glVertexAttrib3dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3FNVPROC, glVertexAttrib3fNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3FVNVPROC, glVertexAttrib3fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3SNVPROC, glVertexAttrib3sNV);
GLEXT_PROC(PFNGLVERTEXATTRIB3SVNVPROC, glVertexAttrib3svNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4DNVPROC, glVertexAttrib4dNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4DVNVPROC, glVertexAttrib4dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4FNVPROC, glVertexAttrib4fNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4FVNVPROC, glVertexAttrib4fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4SNVPROC, glVertexAttrib4sNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4SVNVPROC, glVertexAttrib4svNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4UBNVPROC, glVertexAttrib4ubNV);
GLEXT_PROC(PFNGLVERTEXATTRIB4UBVNVPROC, glVertexAttrib4ubvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS1DVNVPROC, glVertexAttribs1dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS1FVNVPROC, glVertexAttribs1fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS1SVNVPROC, glVertexAttribs1svNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS2DVNVPROC, glVertexAttribs2dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS2FVNVPROC, glVertexAttribs2fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS2SVNVPROC, glVertexAttribs2svNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS3DVNVPROC, glVertexAttribs3dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS3FVNVPROC, glVertexAttribs3fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS3SVNVPROC, glVertexAttribs3svNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS4DVNVPROC, glVertexAttribs4dvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS4FVNVPROC, glVertexAttribs4fvNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS4SVNVPROC, glVertexAttribs4svNV);
GLEXT_PROC(PFNGLVERTEXATTRIBS4UBVNVPROC, glVertexAttribs4ubvNV);

// GL_NV_vertex_program4
GLEXT_PROC(PFNGLVERTEXATTRIBI1IEXTPROC, glVertexAttribI1iEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI2IEXTPROC, glVertexAttribI2iEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI3IEXTPROC, glVertexAttribI3iEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4IEXTPROC, glVertexAttribI4iEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI1UIEXTPROC, glVertexAttribI1uiEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI2UIEXTPROC, glVertexAttribI2uiEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI3UIEXTPROC, glVertexAttribI3uiEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4UIEXTPROC, glVertexAttribI4uiEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI1IVEXTPROC, glVertexAttribI1ivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI2IVEXTPROC, glVertexAttribI2ivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI3IVEXTPROC, glVertexAttribI3ivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4IVEXTPROC, glVertexAttribI4ivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI1UIVEXTPROC, glVertexAttribI1uivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI2UIVEXTPROC, glVertexAttribI2uivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI3UIVEXTPROC, glVertexAttribI3uivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4UIVEXTPROC, glVertexAttribI4uivEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4BVEXTPROC, glVertexAttribI4bvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4SVEXTPROC, glVertexAttribI4svEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4UBVEXTPROC, glVertexAttribI4ubvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBI4USVEXTPROC, glVertexAttribI4usvEXT);
GLEXT_PROC(PFNGLVERTEXATTRIBIPOINTEREXTPROC, glVertexAttribIPointerEXT);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIIVEXTPROC, glGetVertexAttribIivEXT);
GLEXT_PROC(PFNGLGETVERTEXATTRIBIUIVEXTPROC, glGetVertexAttribIuivEXT);

// GL_NV_video_capture
GLEXT_PROC(PFNGLBEGINVIDEOCAPTURENVPROC, glBeginVideoCaptureNV);
GLEXT_PROC(PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC, glBindVideoCaptureStreamBufferNV);
GLEXT_PROC(PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC, glBindVideoCaptureStreamTextureNV);
GLEXT_PROC(PFNGLENDVIDEOCAPTURENVPROC, glEndVideoCaptureNV);
GLEXT_PROC(PFNGLGETVIDEOCAPTUREIVNVPROC, glGetVideoCaptureivNV);
GLEXT_PROC(PFNGLGETVIDEOCAPTURESTREAMIVNVPROC, glGetVideoCaptureStreamivNV);
GLEXT_PROC(PFNGLGETVIDEOCAPTURESTREAMFVNVPROC, glGetVideoCaptureStreamfvNV);
GLEXT_PROC(PFNGLGETVIDEOCAPTURESTREAMDVNVPROC, glGetVideoCaptureStreamdvNV);
GLEXT_PROC(PFNGLVIDEOCAPTURENVPROC, glVideoCaptureNV);
GLEXT_PROC(PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC, glVideoCaptureStreamParameterivNV);
GLEXT_PROC(PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC, glVideoCaptureStreamParameterfvNV);
GLEXT_PROC(PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC, glVideoCaptureStreamParameterdvNV);

// GL_NV_bindless_multi_draw_indirect_count
GLEXT_PROC(PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC, glMultiDrawArraysIndirectBindlessCountNV);
GLEXT_PROC(PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC, glMultiDrawElementsIndirectBindlessCountNV);

// GL_NV_internalformat_sample_query
GLEXT_PROC(PFNGLGETINTERNALFORMATSAMPLEIVNVPROC, glGetInternalformatSampleivNV);

// GL_NV_clip_space_w_scaling
GLEXT_PROC(PFNGLVIEWPORTPOSITIONWSCALENVPROC, glViewportPositionWScaleNV);

// GL_NV_conservative_raster_dilate
GLEXT_PROC(PFNGLCONSERVATIVERASTERPARAMETERFNVPROC, glConservativeRasterParameterfNV);

// GL_NV_conservative_raster_pre_snap_triangles
GLEXT_PROC(PFNGLCONSERVATIVERASTERPARAMETERINVPROC, glConservativeRasterParameteriNV);

// GL_NV_viewport_swizzle
GLEXT_PROC(PFNGLVIEWPORTSWIZZLENVPROC, glViewportSwizzleNV);

// GL_NVX_linked_gpu_multicast
GLEXT_PROC(PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC, glLGPUNamedBufferSubDataNVX);
GLEXT_PROC(PFNGLLGPUCOPYIMAGESUBDATANVXPROC, glLGPUCopyImageSubDataNVX);
GLEXT_PROC(PFNGLLGPUINTERLOCKNVXPROC, glLGPUInterlockNVX);

// GL_NV_alpha_to_coverage_dither_control
GLEXT_PROC(PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC, glAlphaToCoverageDitherControlNV);

// GL_NV_draw_vulkan_image
GLEXT_PROC(PFNGLDRAWVKIMAGENVPROC, glDrawVkImageNV);
GLEXT_PROC(PFNGLGETVKPROCADDRNVPROC, glGetVkProcAddrNV);
GLEXT_PROC(PFNGLWAITVKSEMAPHORENVPROC, glWaitVkSemaphoreNV);
GLEXT_PROC(PFNGLSIGNALVKSEMAPHORENVPROC, glSignalVkSemaphoreNV);
GLEXT_PROC(PFNGLSIGNALVKFENCENVPROC, glSignalVkFenceNV);

// GL_NV_gpu_multicast
GLEXT_PROC(PFNGLRENDERGPUMASKNVPROC, glRenderGpuMaskNV);
GLEXT_PROC(PFNGLMULTICASTBUFFERSUBDATANVPROC, glMulticastBufferSubDataNV);
GLEXT_PROC(PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC, glMulticastCopyBufferSubDataNV);
GLEXT_PROC(PFNGLMULTICASTCOPYIMAGESUBDATANVPROC, glMulticastCopyImageSubDataNV);
GLEXT_PROC(PFNGLMULTICASTBLITFRAMEBUFFERNVPROC, glMulticastBlitFramebufferNV);
GLEXT_PROC(PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC, glMulticastFramebufferSampleLocationsfvNV);
GLEXT_PROC(PFNGLMULTICASTBARRIERNVPROC, glMulticastBarrierNV);
GLEXT_PROC(PFNGLMULTICASTWAITSYNCNVPROC, glMulticastWaitSyncNV);
GLEXT_PROC(PFNGLMULTICASTGETQUERYOBJECTIVNVPROC, glMulticastGetQueryObjectivNV);
GLEXT_PROC(PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC, glMulticastGetQueryObjectuivNV);
GLEXT_PROC(PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC, glMulticastGetQueryObjecti64vNV);
GLEXT_PROC(PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC, glMulticastGetQueryObjectui64vNV);

// GL_NV_query_resource
GLEXT_PROC(PFNGLQUERYRESOURCENVPROC, glQueryResourceNV);

// GL_NV_query_resource_tag
GLEXT_PROC(PFNGLGENQUERYRESOURCETAGNVPROC, glGenQueryResourceTagNV);
GLEXT_PROC(PFNGLDELETEQUERYRESOURCETAGNVPROC, glDeleteQueryResourceTagNV);
GLEXT_PROC(PFNGLQUERYRESOURCETAGNVPROC, glQueryResourceTagNV);

// GL_NV_memory_attachment
GLEXT_PROC(PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC, glGetMemoryObjectDetachedResourcesuivNV);
GLEXT_PROC(PFNGLRESETMEMORYOBJECTPARAMETERNVPROC, glResetMemoryObjectParameterNV);
GLEXT_PROC(PFNGLTEXATTACHMEMORYNVPROC, glTexAttachMemoryNV);
GLEXT_PROC(PFNGLBUFFERATTACHMEMORYNVPROC, glBufferAttachMemoryNV);
GLEXT_PROC(PFNGLTEXTUREATTACHMEMORYNVPROC, glTextureAttachMemoryNV);
GLEXT_PROC(PFNGLNAMEDBUFFERATTACHMEMORYNVPROC, glNamedBufferAttachMemoryNV);

// GL_NV_mesh_shader
GLEXT_PROC(PFNGLDRAWMESHTASKSNVPROC, glDrawMeshTasksNV);
GLEXT_PROC(PFNGLDRAWMESHTASKSINDIRECTNVPROC, glDrawMeshTasksIndirectNV);
GLEXT_PROC(PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC, glMultiDrawMeshTasksIndirectNV);
GLEXT_PROC(PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC, glMultiDrawMeshTasksIndirectCountNV);

// GL_NV_scissor_exclusive
GLEXT_PROC(PFNGLSCISSOREXCLUSIVENVPROC, glScissorExclusiveNV);
GLEXT_PROC(PFNGLSCISSOREXCLUSIVEARRAYVNVPROC, glScissorExclusiveArrayvNV);

// GL_NV_shading_rate_image
GLEXT_PROC(PFNGLBINDSHADINGRATEIMAGENVPROC, glBindShadingRateImageNV);
GLEXT_PROC(PFNGLGETSHADINGRATEIMAGEPALETTENVPROC, glGetShadingRateImagePaletteNV);
GLEXT_PROC(PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC, glGetShadingRateSampleLocationivNV);
GLEXT_PROC(PFNGLSHADINGRATEIMAGEBARRIERNVPROC, glShadingRateImageBarrierNV);
GLEXT_PROC(PFNGLSHADINGRATEIMAGEPALETTENVPROC, glShadingRateImagePaletteNV);
GLEXT_PROC(PFNGLSHADINGRATESAMPLEORDERNVPROC, glShadingRateSampleOrderNV);
GLEXT_PROC(PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC, glShadingRateSampleOrderCustomNV);

// GL_NV_vdpau_interop2
GLEXT_PROC(PFNGLVDPAUREGISTERVIDEOSURFACEWITHPICTURESTRUCTURENVPROC, glVDPAURegisterVideoSurfaceWithPictureStructureNV);

// ---------------------------------------------------------------------------------
// OVR
// ---------------------------------------------------------------------------------

// GL_OVR_multiview
GLEXT_PROC(PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC, glFramebufferTextureMultiviewOVR);

// ---------------------------------------------------------------------------------
// PGI
// ---------------------------------------------------------------------------------

// GL_PGI_misc_hints
GLEXT_PROC(PFNGLHINTPGIPROC, glHintPGI);

// ---------------------------------------------------------------------------------
// SGIS
// ---------------------------------------------------------------------------------

// GL_SGIS_detail_texture
GLEXT_PROC(PFNGLDETAILTEXFUNCSGISPROC, glDetailTexFuncSGIS);
GLEXT_PROC(PFNGLGETDETAILTEXFUNCSGISPROC, glGetDetailTexFuncSGIS);

// GL_SGIS_fog_function
GLEXT_PROC(PFNGLFOGFUNCSGISPROC, glFogFuncSGIS);
GLEXT_PROC(PFNGLGETFOGFUNCSGISPROC, glGetFogFuncSGIS);

// GL_SGIS_multisample
GLEXT_PROC(PFNGLSAMPLEMASKSGISPROC, glSampleMaskSGIS);
GLEXT_PROC(PFNGLSAMPLEPATTERNSGISPROC, glSamplePatternSGIS);

// GL_SGIS_pixel_texture
GLEXT_PROC(PFNGLPIXELTEXGENPARAMETERISGISPROC, glPixelTexGenParameteriSGIS);
GLEXT_PROC(PFNGLPIXELTEXGENPARAMETERIVSGISPROC, glPixelTexGenParameterivSGIS);
GLEXT_PROC(PFNGLPIXELTEXGENPARAMETERFSGISPROC, glPixelTexGenParameterfSGIS);
GLEXT_PROC(PFNGLPIXELTEXGENPARAMETERFVSGISPROC, glPixelTexGenParameterfvSGIS);
GLEXT_PROC(PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC, glGetPixelTexGenParameterivSGIS);
GLEXT_PROC(PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC, glGetPixelTexGenParameterfvSGIS);

// GL_SGIS_point_parameters
GLEXT_PROC(PFNGLPOINTPARAMETERFSGISPROC, glPointParameterfSGIS);
GLEXT_PROC(PFNGLPOINTPARAMETERFVSGISPROC, glPointParameterfvSGIS);

// GL_SGIS_sharpen_texture
GLEXT_PROC(PFNGLSHARPENTEXFUNCSGISPROC, glSharpenTexFuncSGIS);
GLEXT_PROC(PFNGLGETSHARPENTEXFUNCSGISPROC, glGetSharpenTexFuncSGIS);

// GL_SGIS_texture4D
GLEXT_PROC(PFNGLTEXIMAGE4DSGISPROC, glTexImage4DSGIS);
GLEXT_PROC(PFNGLTEXSUBIMAGE4DSGISPROC, glTexSubImage4DSGIS);

// GL_SGIS_texture_color_mask
GLEXT_PROC(PFNGLTEXTURECOLORMASKSGISPROC, glTextureColorMaskSGIS);

// GL_SGIS_texture_filter4
GLEXT_PROC(PFNGLGETTEXFILTERFUNCSGISPROC, glGetTexFilterFuncSGIS);
GLEXT_PROC(PFNGLTEXFILTERFUNCSGISPROC, glTexFilterFuncSGIS);

// ---------------------------------------------------------------------------------
// SGIX
// ---------------------------------------------------------------------------------

// GL_SGIX_async
GLEXT_PROC(PFNGLASYNCMARKERSGIXPROC, glAsyncMarkerSGIX);
GLEXT_PROC(PFNGLFINISHASYNCSGIXPROC, glFinishAsyncSGIX);
GLEXT_PROC(PFNGLPOLLASYNCSGIXPROC, glPollAsyncSGIX);
GLEXT_PROC(PFNGLGENASYNCMARKERSSGIXPROC, glGenAsyncMarkersSGIX);
GLEXT_PROC(PFNGLDELETEASYNCMARKERSSGIXPROC, glDeleteAsyncMarkersSGIX);
GLEXT_PROC(PFNGLISASYNCMARKERSGIXPROC, glIsAsyncMarkerSGIX);

// GL_SGIX_flush_raster
GLEXT_PROC(PFNGLFLUSHRASTERSGIXPROC, glFlushRasterSGIX);

// GL_SGIX_fragment_lighting
GLEXT_PROC(PFNGLFRAGMENTCOLORMATERIALSGIXPROC, glFragmentColorMaterialSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTFSGIXPROC, glFragmentLightfSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTFVSGIXPROC, glFragmentLightfvSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTISGIXPROC, glFragmentLightiSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTIVSGIXPROC, glFragmentLightivSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTMODELFSGIXPROC, glFragmentLightModelfSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTMODELFVSGIXPROC, glFragmentLightModelfvSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTMODELISGIXPROC, glFragmentLightModeliSGIX);
GLEXT_PROC(PFNGLFRAGMENTLIGHTMODELIVSGIXPROC, glFragmentLightModelivSGIX);
GLEXT_PROC(PFNGLFRAGMENTMATERIALFSGIXPROC, glFragmentMaterialfSGIX);
GLEXT_PROC(PFNGLFRAGMENTMATERIALFVSGIXPROC, glFragmentMaterialfvSGIX);
GLEXT_PROC(PFNGLFRAGMENTMATERIALISGIXPROC, glFragmentMaterialiSGIX);
GLEXT_PROC(PFNGLFRAGMENTMATERIALIVSGIXPROC, glFragmentMaterialivSGIX);
GLEXT_PROC(PFNGLGETFRAGMENTLIGHTFVSGIXPROC, glGetFragmentLightfvSGIX);
GLEXT_PROC(PFNGLGETFRAGMENTLIGHTIVSGIXPROC, glGetFragmentLightivSGIX);
GLEXT_PROC(PFNGLGETFRAGMENTMATERIALFVSGIXPROC, glGetFragmentMaterialfvSGIX);
GLEXT_PROC(PFNGLGETFRAGMENTMATERIALIVSGIXPROC, glGetFragmentMaterialivSGIX);
GLEXT_PROC(PFNGLLIGHTENVISGIXPROC, glLightEnviSGIX);

// GL_SGIX_framezoom
GLEXT_PROC(PFNGLFRAMEZOOMSGIXPROC, glFrameZoomSGIX);

// GL_SGIX_igloo_interface
GLEXT_PROC(PFNGLIGLOOINTERFACESGIXPROC, glIglooInterfaceSGIX);

// GL_SGIX_instruments
GLEXT_PROC(PFNGLGETINSTRUMENTSSGIXPROC, glGetInstrumentsSGIX);
GLEXT_PROC(PFNGLINSTRUMENTSBUFFERSGIXPROC, glInstrumentsBufferSGIX);
GLEXT_PROC(PFNGLPOLLINSTRUMENTSSGIXPROC, glPollInstrumentsSGIX);
GLEXT_PROC(PFNGLREADINSTRUMENTSSGIXPROC, glReadInstrumentsSGIX);
GLEXT_PROC(PFNGLSTARTINSTRUMENTSSGIXPROC, glStartInstrumentsSGIX);
GLEXT_PROC(PFNGLSTOPINSTRUMENTSSGIXPROC, glStopInstrumentsSGIX);

// GL_SGIX_list_priority
GLEXT_PROC(PFNGLGETLISTPARAMETERFVSGIXPROC, glGetListParameterfvSGIX);
GLEXT_PROC(PFNGLGETLISTPARAMETERIVSGIXPROC, glGetListParameterivSGIX);
GLEXT_PROC(PFNGLLISTPARAMETERFSGIXPROC, glListParameterfSGIX);
GLEXT_PROC(PFNGLLISTPARAMETERFVSGIXPROC, glListParameterfvSGIX);
GLEXT_PROC(PFNGLLISTPARAMETERISGIXPROC, glListParameteriSGIX);
GLEXT_PROC(PFNGLLISTPARAMETERIVSGIXPROC, glListParameterivSGIX);

// GL_SGIX_pixel_texture
GLEXT_PROC(PFNGLPIXELTEXGENSGIXPROC, glPixelTexGenSGIX);

// GL_SGIX_polynomial_ffd
GLEXT_PROC(PFNGLDEFORMATIONMAP3DSGIXPROC, glDeformationMap3dSGIX);
GLEXT_PROC(PFNGLDEFORMATIONMAP3FSGIXPROC, glDeformationMap3fSGIX);
GLEXT_PROC(PFNGLDEFORMSGIXPROC, glDeformSGIX);
GLEXT_PROC(PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC, glLoadIdentityDeformationMapSGIX);

// GL_SGIX_reference_plane
GLEXT_PROC(PFNGLREFERENCEPLANESGIXPROC, glReferencePlaneSGIX);

// GL_SGIX_sprite
GLEXT_PROC(PFNGLSPRITEPARAMETERFSGIXPROC, glSpriteParameterfSGIX);
GLEXT_PROC(PFNGLSPRITEPARAMETERFVSGIXPROC, glSpriteParameterfvSGIX);
GLEXT_PROC(PFNGLSPRITEPARAMETERISGIXPROC, glSpriteParameteriSGIX);
GLEXT_PROC(PFNGLSPRITEPARAMETERIVSGIXPROC, glSpriteParameterivSGIX);

// GL_SGIX_tag_sample_buffer
GLEXT_PROC(PFNGLTAGSAMPLEBUFFERSGIXPROC, glTagSampleBufferSGIX);

// ---------------------------------------------------------------------------------
// SGI
// ---------------------------------------------------------------------------------

// GL_SGI_color_table
GLEXT_PROC(PFNGLCOLORTABLESGIPROC, glColorTableSGI);
GLEXT_PROC(PFNGLCOLORTABLEPARAMETERFVSGIPROC, glColorTableParameterfvSGI);
GLEXT_PROC(PFNGLCOLORTABLEPARAMETERIVSGIPROC, glColorTableParameterivSGI);
GLEXT_PROC(PFNGLCOPYCOLORTABLESGIPROC, glCopyColorTableSGI);
GLEXT_PROC(PFNGLGETCOLORTABLESGIPROC, glGetColorTableSGI);
GLEXT_PROC(PFNGLGETCOLORTABLEPARAMETERFVSGIPROC, glGetColorTableParameterfvSGI);
GLEXT_PROC(PFNGLGETCOLORTABLEPARAMETERIVSGIPROC, glGetColorTableParameterivSGI);

// ---------------------------------------------------------------------------------
// SUNX
// ---------------------------------------------------------------------------------

// GL_SUNX_constant_data
GLEXT_PROC(PFNGLFINISHTEXTURESUNXPROC, glFinishTextureSUNX);

// ---------------------------------------------------------------------------------
// SUN
// ---------------------------------------------------------------------------------

// GL_SUN_global_alpha
GLEXT_PROC(PFNGLGLOBALALPHAFACTORBSUNPROC, glGlobalAlphaFactorbSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORSSUNPROC, glGlobalAlphaFactorsSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORISUNPROC, glGlobalAlphaFactoriSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORFSUNPROC, glGlobalAlphaFactorfSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORDSUNPROC, glGlobalAlphaFactordSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORUBSUNPROC, glGlobalAlphaFactorubSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORUSSUNPROC, glGlobalAlphaFactorusSUN);
GLEXT_PROC(PFNGLGLOBALALPHAFACTORUISUNPROC, glGlobalAlphaFactoruiSUN);

// GL_SUN_mesh_array
GLEXT_PROC(PFNGLDRAWMESHARRAYSSUNPROC, glDrawMeshArraysSUN);

// GL_SUN_triangle_list
GLEXT_PROC(PFNGLREPLACEMENTCODEUISUNPROC, glReplacementCodeuiSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUSSUNPROC, glReplacementCodeusSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUBSUNPROC, glReplacementCodeubSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUIVSUNPROC, glReplacementCodeuivSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUSVSUNPROC, glReplacementCodeusvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUBVSUNPROC, glReplacementCodeubvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEPOINTERSUNPROC, glReplacementCodePointerSUN);

// GL_SUN_vertex
GLEXT_PROC(PFNGLCOLOR4UBVERTEX2FSUNPROC, glColor4ubVertex2fSUN);
GLEXT_PROC(PFNGLCOLOR4UBVERTEX2FVSUNPROC, glColor4ubVertex2fvSUN);
GLEXT_PROC(PFNGLCOLOR4UBVERTEX3FSUNPROC, glColor4ubVertex3fSUN);
GLEXT_PROC(PFNGLCOLOR4UBVERTEX3FVSUNPROC, glColor4ubVertex3fvSUN);
GLEXT_PROC(PFNGLCOLOR3FVERTEX3FSUNPROC, glColor3fVertex3fSUN);
GLEXT_PROC(PFNGLCOLOR3FVERTEX3FVSUNPROC, glColor3fVertex3fvSUN);
GLEXT_PROC(PFNGLNORMAL3FVERTEX3FSUNPROC, glNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLNORMAL3FVERTEX3FVSUNPROC, glNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC, glColor4fNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC, glColor4fNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLTEXCOORD2FVERTEX3FSUNPROC, glTexCoord2fVertex3fSUN);
GLEXT_PROC(PFNGLTEXCOORD2FVERTEX3FVSUNPROC, glTexCoord2fVertex3fvSUN);
GLEXT_PROC(PFNGLTEXCOORD4FVERTEX4FSUNPROC, glTexCoord4fVertex4fSUN);
GLEXT_PROC(PFNGLTEXCOORD4FVERTEX4FVSUNPROC, glTexCoord4fVertex4fvSUN);
GLEXT_PROC(PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC, glTexCoord2fColor4ubVertex3fSUN);
GLEXT_PROC(PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC, glTexCoord2fColor4ubVertex3fvSUN);
GLEXT_PROC(PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC, glTexCoord2fColor3fVertex3fSUN);
GLEXT_PROC(PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC, glTexCoord2fColor3fVertex3fvSUN);
GLEXT_PROC(PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC, glTexCoord2fNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC, glTexCoord2fNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC, glTexCoord2fColor4fNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC, glTexCoord2fColor4fNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC, glTexCoord4fColor4fNormal3fVertex4fSUN);
GLEXT_PROC(PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC, glTexCoord4fColor4fNormal3fVertex4fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC, glReplacementCodeuiVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC, glReplacementCodeuiVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC, glReplacementCodeuiColor4ubVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC, glReplacementCodeuiColor4ubVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC, glReplacementCodeuiColor3fVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC, glReplacementCodeuiColor3fVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC, glReplacementCodeuiNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC, glReplacementCodeuiNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC, glReplacementCodeuiColor4fNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC, glReplacementCodeuiColor4fNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC, glReplacementCodeuiTexCoord2fVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC, glReplacementCodeuiTexCoord2fVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN);
GLEXT_PROC(PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN);

// ---------------------------------------------------------------------------------
// KHR
// ---------------------------------------------------------------------------------

// GL_KHR_blend_equation_advanced
GLEXT_PROC(PFNGLBLENDBARRIERKHRPROC, glBlendBarrierKHR);

// GL_KHR_parallel_shader_compile
GLEXT_PROC(PFNGLMAXSHADERCOMPILERTHREADSKHRPROC, glMaxShaderCompilerThreadsKHR);

#endif // GLEXT_PROC

// ---------------------------------------------------------------------------------
// OpenGL Extensions
// ---------------------------------------------------------------------------------

#ifdef GL_EXTENSION

GL_EXTENSION(ARB_multitexture)
GL_EXTENSION(ARB_transpose_matrix)
GL_EXTENSION(ARB_multisample)
GL_EXTENSION(ARB_texture_env_add)
GL_EXTENSION(ARB_texture_cube_map)
GL_EXTENSION(ARB_texture_compression)
GL_EXTENSION(ARB_texture_border_clamp)
GL_EXTENSION(ARB_point_parameters)
GL_EXTENSION(ARB_vertex_blend)
GL_EXTENSION(ARB_matrix_palette)
GL_EXTENSION(ARB_texture_env_combine)
GL_EXTENSION(ARB_texture_env_crossbar)
GL_EXTENSION(ARB_texture_env_dot3)
GL_EXTENSION(ARB_texture_mirrored_repeat)
GL_EXTENSION(ARB_depth_texture)
GL_EXTENSION(ARB_shadow)
GL_EXTENSION(ARB_shadow_ambient)
GL_EXTENSION(ARB_window_pos)
GL_EXTENSION(ARB_vertex_program)
GL_EXTENSION(ARB_fragment_program)
GL_EXTENSION(ARB_vertex_buffer_object)
GL_EXTENSION(ARB_occlusion_query)
GL_EXTENSION(ARB_shader_objects)
GL_EXTENSION(ARB_vertex_shader)
GL_EXTENSION(ARB_fragment_shader)
GL_EXTENSION(ARB_shading_language_100)
GL_EXTENSION(ARB_texture_non_power_of_two)
GL_EXTENSION(ARB_point_sprite)
GL_EXTENSION(ARB_fragment_program_shadow)
GL_EXTENSION(ARB_draw_buffers)
GL_EXTENSION(ARB_texture_rectangle)
GL_EXTENSION(ARB_color_buffer_float)
GL_EXTENSION(ARB_half_float_pixel)
GL_EXTENSION(ARB_texture_float)
GL_EXTENSION(ARB_pixel_buffer_object)
GL_EXTENSION(ARB_depth_buffer_float)
GL_EXTENSION(ARB_draw_instanced)
GL_EXTENSION(ARB_framebuffer_object)
GL_EXTENSION(ARB_framebuffer_sRGB)
GL_EXTENSION(ARB_geometry_shader4)
GL_EXTENSION(ARB_half_float_vertex)
GL_EXTENSION(ARB_instanced_arrays)
GL_EXTENSION(ARB_map_buffer_range)
GL_EXTENSION(ARB_texture_buffer_object)
GL_EXTENSION(ARB_texture_compression_rgtc)
GL_EXTENSION(ARB_texture_rg)
GL_EXTENSION(ARB_vertex_array_object)
GL_EXTENSION(ARB_uniform_buffer_object)
GL_EXTENSION(ARB_compatibility)
GL_EXTENSION(ARB_copy_buffer)
GL_EXTENSION(ARB_shader_texture_lod)
GL_EXTENSION(ARB_depth_clamp)
GL_EXTENSION(ARB_draw_elements_base_vertex)
GL_EXTENSION(ARB_fragment_coord_conventions)
GL_EXTENSION(ARB_provoking_vertex)
GL_EXTENSION(ARB_seamless_cube_map)
GL_EXTENSION(ARB_sync)
GL_EXTENSION(ARB_texture_multisample)
GL_EXTENSION(ARB_vertex_array_bgra)
GL_EXTENSION(ARB_draw_buffers_blend)
GL_EXTENSION(ARB_sample_shading)
GL_EXTENSION(ARB_texture_cube_map_array)
GL_EXTENSION(ARB_texture_gather)
GL_EXTENSION(ARB_texture_query_lod)
GL_EXTENSION(ARB_shading_language_include)
GL_EXTENSION(ARB_texture_compression_bptc)
GL_EXTENSION(ARB_blend_func_extended)
GL_EXTENSION(ARB_explicit_attrib_location)
GL_EXTENSION(ARB_occlusion_query2)
GL_EXTENSION(ARB_sampler_objects)
GL_EXTENSION(ARB_shader_bit_encoding)
GL_EXTENSION(ARB_texture_rgb10_a2ui)
GL_EXTENSION(ARB_texture_swizzle)
GL_EXTENSION(ARB_timer_query)
GL_EXTENSION(ARB_vertex_type_2_10_10_10_rev)
GL_EXTENSION(ARB_draw_indirect)
GL_EXTENSION(ARB_gpu_shader5)
GL_EXTENSION(ARB_gpu_shader_fp64)
GL_EXTENSION(ARB_shader_subroutine)
GL_EXTENSION(ARB_tessellation_shader)
GL_EXTENSION(ARB_texture_buffer_object_rgb32)
GL_EXTENSION(ARB_transform_feedback2)
GL_EXTENSION(ARB_transform_feedback3)
GL_EXTENSION(ARB_ES2_compatibility)
GL_EXTENSION(ARB_get_program_binary)
GL_EXTENSION(ARB_separate_shader_objects)
GL_EXTENSION(ARB_shader_precision)
GL_EXTENSION(ARB_vertex_attrib_64bit)
GL_EXTENSION(ARB_viewport_array)
GL_EXTENSION(ARB_cl_event)
GL_EXTENSION(ARB_debug_output)
GL_EXTENSION(ARB_robustness)
GL_EXTENSION(ARB_shader_stencil_export)
GL_EXTENSION(ARB_base_instance)
GL_EXTENSION(ARB_shading_language_420pack)
GL_EXTENSION(ARB_transform_feedback_instanced)
GL_EXTENSION(ARB_compressed_texture_pixel_storage)
GL_EXTENSION(ARB_conservative_depth)
GL_EXTENSION(ARB_internalformat_query)
GL_EXTENSION(ARB_map_buffer_alignment)
GL_EXTENSION(ARB_shader_atomic_counters)
GL_EXTENSION(ARB_shader_image_load_store)
GL_EXTENSION(ARB_shading_language_packing)
GL_EXTENSION(ARB_texture_storage)
GL_EXTENSION(KHR_texture_compression_astc_hdr)
GL_EXTENSION(KHR_texture_compression_astc_ldr)
GL_EXTENSION(KHR_debug)
GL_EXTENSION(ARB_arrays_of_arrays)
GL_EXTENSION(ARB_clear_buffer_object)
GL_EXTENSION(ARB_compute_shader)
GL_EXTENSION(ARB_copy_image)
GL_EXTENSION(ARB_texture_view)
GL_EXTENSION(ARB_vertex_attrib_binding)
GL_EXTENSION(ARB_robustness_isolation)
GL_EXTENSION(ARB_ES3_compatibility)
GL_EXTENSION(ARB_explicit_uniform_location)
GL_EXTENSION(ARB_fragment_layer_viewport)
GL_EXTENSION(ARB_framebuffer_no_attachments)
GL_EXTENSION(ARB_internalformat_query2)
GL_EXTENSION(ARB_invalidate_subdata)
GL_EXTENSION(ARB_multi_draw_indirect)
GL_EXTENSION(ARB_program_interface_query)
GL_EXTENSION(ARB_robust_buffer_access_behavior)
GL_EXTENSION(ARB_shader_image_size)
GL_EXTENSION(ARB_shader_storage_buffer_object)
GL_EXTENSION(ARB_stencil_texturing)
GL_EXTENSION(ARB_texture_buffer_range)
GL_EXTENSION(ARB_texture_query_levels)
GL_EXTENSION(ARB_texture_storage_multisample)
GL_EXTENSION(ARB_buffer_storage)
GL_EXTENSION(ARB_clear_texture)
GL_EXTENSION(ARB_enhanced_layouts)
GL_EXTENSION(ARB_multi_bind)
GL_EXTENSION(ARB_query_buffer_object)
GL_EXTENSION(ARB_texture_mirror_clamp_to_edge)
GL_EXTENSION(ARB_texture_stencil8)
GL_EXTENSION(ARB_vertex_type_10f_11f_11f_rev)
GL_EXTENSION(ARB_bindless_texture)
GL_EXTENSION(ARB_compute_variable_group_size)
GL_EXTENSION(ARB_indirect_parameters)
GL_EXTENSION(ARB_seamless_cubemap_per_texture)
GL_EXTENSION(ARB_shader_draw_parameters)
GL_EXTENSION(ARB_shader_group_vote)
GL_EXTENSION(ARB_sparse_texture)
GL_EXTENSION(EXT_abgr)
GL_EXTENSION(EXT_blend_color)
GL_EXTENSION(EXT_polygon_offset)
GL_EXTENSION(EXT_texture)
GL_EXTENSION(EXT_texture3D)
GL_EXTENSION(SGIS_texture_filter4)
GL_EXTENSION(EXT_subtexture)
GL_EXTENSION(EXT_copy_texture)
GL_EXTENSION(EXT_histogram)
GL_EXTENSION(EXT_convolution)
GL_EXTENSION(SGI_color_matrix)
GL_EXTENSION(SGI_color_table)
GL_EXTENSION(SGIS_pixel_texture)
GL_EXTENSION(SGIX_pixel_texture)
GL_EXTENSION(SGIS_texture4D)
GL_EXTENSION(SGI_texture_color_table)
GL_EXTENSION(EXT_cmyka)
GL_EXTENSION(EXT_texture_object)
GL_EXTENSION(SGIS_detail_texture)
GL_EXTENSION(SGIS_sharpen_texture)
GL_EXTENSION(EXT_packed_pixels)
GL_EXTENSION(SGIS_texture_lod)
GL_EXTENSION(SGIS_multisample)
GL_EXTENSION(EXT_rescale_normal)
GL_EXTENSION(EXT_vertex_array)
GL_EXTENSION(EXT_misc_attribute)
GL_EXTENSION(SGIS_generate_mipmap)
GL_EXTENSION(SGIX_clipmap)
GL_EXTENSION(SGIX_shadow)
GL_EXTENSION(SGIS_texture_edge_clamp)
GL_EXTENSION(SGIS_texture_border_clamp)
GL_EXTENSION(EXT_blend_minmax)
GL_EXTENSION(EXT_blend_subtract)
GL_EXTENSION(EXT_blend_logic_op)
GL_EXTENSION(SGIX_interlace)
GL_EXTENSION(SGIS_texture_select)
GL_EXTENSION(SGIX_sprite)
GL_EXTENSION(SGIX_texture_multi_buffer)
GL_EXTENSION(EXT_point_parameters)
GL_EXTENSION(SGIX_instruments)
GL_EXTENSION(SGIX_texture_scale_bias)
GL_EXTENSION(SGIX_framezoom)
GL_EXTENSION(SGIX_tag_sample_buffer)
GL_EXTENSION(SGIX_reference_plane)
GL_EXTENSION(SGIX_flush_raster)
GL_EXTENSION(SGIX_depth_texture)
GL_EXTENSION(SGIS_fog_function)
GL_EXTENSION(SGIX_fog_offset)
GL_EXTENSION(HP_image_transform)
GL_EXTENSION(HP_convolution_border_modes)
GL_EXTENSION(SGIX_texture_add_env)
GL_EXTENSION(EXT_color_subtable)
GL_EXTENSION(PGI_vertex_hints)
GL_EXTENSION(PGI_misc_hints)
GL_EXTENSION(EXT_paletted_texture)
GL_EXTENSION(EXT_clip_volume_hint)
GL_EXTENSION(SGIX_list_priority)
GL_EXTENSION(SGIX_ir_instrument1)
GL_EXTENSION(SGIX_texture_lod_bias)
GL_EXTENSION(SGIX_shadow_ambient)
GL_EXTENSION(EXT_index_texture)
GL_EXTENSION(EXT_index_material)
GL_EXTENSION(EXT_index_func)
GL_EXTENSION(EXT_index_array_formats)
GL_EXTENSION(EXT_compiled_vertex_array)
GL_EXTENSION(EXT_cull_vertex)
GL_EXTENSION(SGIX_ycrcb)
GL_EXTENSION(EXT_fragment_lighting)
GL_EXTENSION(IBM_rasterpos_clip)
GL_EXTENSION(HP_texture_lighting)
GL_EXTENSION(EXT_draw_range_elements)
GL_EXTENSION(WIN_phong_shading)
GL_EXTENSION(WIN_specular_fog)
GL_EXTENSION(SGIS_color_range)
GL_EXTENSION(EXT_light_texture)
GL_EXTENSION(SGIX_blend_alpha_minmax)
GL_EXTENSION(EXT_scene_marker)
GL_EXTENSION(SGIX_pixel_texture_bits)
GL_EXTENSION(EXT_bgra)
GL_EXTENSION(SGIX_async)
GL_EXTENSION(SGIX_async_pixel)
GL_EXTENSION(SGIX_async_histogram)
GL_EXTENSION(INTEL_texture_scissor)
GL_EXTENSION(INTEL_parallel_arrays)
GL_EXTENSION(HP_occlusion_test)
GL_EXTENSION(EXT_pixel_transform)
GL_EXTENSION(EXT_pixel_transform_color_table)
GL_EXTENSION(EXT_shared_texture_palette)
GL_EXTENSION(EXT_separate_specular_color)
GL_EXTENSION(EXT_secondary_color)
GL_EXTENSION(EXT_texture_env)
GL_EXTENSION(EXT_texture_perturb_normal)
GL_EXTENSION(EXT_multi_draw_arrays)
GL_EXTENSION(SUN_multi_draw_arrays)
GL_EXTENSION(EXT_fog_coord)
GL_EXTENSION(REND_screen_coordinates)
GL_EXTENSION(EXT_coordinate_frame)
GL_EXTENSION(EXT_texture_env_combine)
GL_EXTENSION(APPLE_specular_vector)
GL_EXTENSION(APPLE_transform_hint)
GL_EXTENSION(SUNX_constant_data)
GL_EXTENSION(SUN_global_alpha)
GL_EXTENSION(SUN_triangle_list)
GL_EXTENSION(SUN_vertex)
GL_EXTENSION(EXT_blend_func_separate)
GL_EXTENSION(INGR_color_clamp)
GL_EXTENSION(INGR_interlace_read)
GL_EXTENSION(EXT_stencil_wrap)
GL_EXTENSION(EXT_422_pixels)
GL_EXTENSION(NV_texgen_reflection)
GL_EXTENSION(SGIX_texture_range)
GL_EXTENSION(SUN_convolution_border_modes)
GL_EXTENSION(EXT_texture_env_add)
GL_EXTENSION(EXT_texture_lod_bias)
GL_EXTENSION(EXT_texture_filter_anisotropic)
GL_EXTENSION(EXT_vertex_weighting)
GL_EXTENSION(NV_light_max_exponent)
GL_EXTENSION(NV_vertex_array_range)
GL_EXTENSION(NV_register_combiners)
GL_EXTENSION(NV_fog_distance)
GL_EXTENSION(NV_texgen_emboss)
GL_EXTENSION(NV_blend_square)
GL_EXTENSION(NV_texture_env_combine4)
GL_EXTENSION(MESA_resize_buffers)
GL_EXTENSION(MESA_window_pos)
GL_EXTENSION(EXT_texture_compression_s3tc)
GL_EXTENSION(IBM_cull_vertex)
GL_EXTENSION(IBM_multimode_draw_arrays)
GL_EXTENSION(IBM_vertex_array_lists)
//GL_EXTENSION(3DFX_texture_compression_FXT1)
//GL_EXTENSION(3DFX_multisample)
//GL_EXTENSION(3DFX_tbuffer)
GL_EXTENSION(EXT_multisample)
GL_EXTENSION(SGIX_vertex_preclip)
GL_EXTENSION(SGIX_vertex_preclip_hint)
GL_EXTENSION(SGIX_convolution_accuracy)
GL_EXTENSION(SGIX_resample)
GL_EXTENSION(SGIS_point_line_texgen)
GL_EXTENSION(SGIS_texture_color_mask)
GL_EXTENSION(EXT_texture_env_dot3)
GL_EXTENSION(ATI_texture_mirror_once)
GL_EXTENSION(NV_fence)
GL_EXTENSION(IBM_static_data)
GL_EXTENSION(IBM_texture_mirrored_repeat)
GL_EXTENSION(NV_evaluators)
GL_EXTENSION(NV_packed_depth_stencil)
GL_EXTENSION(NV_register_combiners2)
GL_EXTENSION(NV_texture_compression_vtc)
GL_EXTENSION(NV_texture_rectangle)
GL_EXTENSION(NV_texture_shader)
GL_EXTENSION(NV_texture_shader2)
GL_EXTENSION(NV_vertex_array_range2)
GL_EXTENSION(NV_vertex_program)
GL_EXTENSION(SGIX_texture_coordinate_clamp)
GL_EXTENSION(OML_interlace)
GL_EXTENSION(OML_subsample)
GL_EXTENSION(OML_resample)
GL_EXTENSION(NV_copy_depth_to_color)
GL_EXTENSION(ATI_envmap_bumpmap)
GL_EXTENSION(ATI_fragment_shader)
GL_EXTENSION(ATI_pn_triangles)
GL_EXTENSION(ATI_vertex_array_object)
GL_EXTENSION(EXT_vertex_shader)
GL_EXTENSION(ATI_vertex_streams)
GL_EXTENSION(ATI_element_array)
GL_EXTENSION(SUN_mesh_array)
GL_EXTENSION(SUN_slice_accum)
GL_EXTENSION(NV_multisample_filter_hint)
GL_EXTENSION(NV_depth_clamp)
GL_EXTENSION(NV_occlusion_query)
GL_EXTENSION(NV_point_sprite)
GL_EXTENSION(NV_texture_shader3)
GL_EXTENSION(NV_vertex_program1_1)
GL_EXTENSION(EXT_shadow_funcs)
GL_EXTENSION(EXT_stencil_two_side)
GL_EXTENSION(ATI_text_fragment_shader)
GL_EXTENSION(APPLE_client_storage)
GL_EXTENSION(APPLE_element_array)
GL_EXTENSION(APPLE_fence)
GL_EXTENSION(APPLE_vertex_array_object)
GL_EXTENSION(APPLE_vertex_array_range)
GL_EXTENSION(APPLE_ycbcr_422)
GL_EXTENSION(S3_s3tc)
GL_EXTENSION(ATI_texture_compression_atitc)
GL_EXTENSION(ATI_draw_buffers)
GL_EXTENSION(ATI_texture_env_combine3)
GL_EXTENSION(ATI_texture_float)
GL_EXTENSION(NV_float_buffer)
GL_EXTENSION(NV_fragment_program)
GL_EXTENSION(NV_half_float)
GL_EXTENSION(NV_pixel_data_range)
GL_EXTENSION(NV_primitive_restart)
GL_EXTENSION(NV_texture_expand_normal)
GL_EXTENSION(NV_vertex_program2)
GL_EXTENSION(ATI_map_object_buffer)
GL_EXTENSION(ATI_separate_stencil)
GL_EXTENSION(ATI_vertex_attrib_array_object)
GL_EXTENSION(OES_byte_coordinates)
GL_EXTENSION(OES_fixed_point)
GL_EXTENSION(OES_single_precision)
GL_EXTENSION(OES_compressed_paletted_texture)
GL_EXTENSION(OES_read_format)
GL_EXTENSION(OES_query_matrix)
GL_EXTENSION(EXT_depth_bounds_test)
GL_EXTENSION(EXT_texture_mirror_clamp)
GL_EXTENSION(EXT_blend_equation_separate)
GL_EXTENSION(MESA_pack_invert)
GL_EXTENSION(MESA_ycbcr_texture)
GL_EXTENSION(EXT_pixel_buffer_object)
GL_EXTENSION(NV_fragment_program_option)
GL_EXTENSION(NV_fragment_program2)
GL_EXTENSION(NV_vertex_program2_option)
GL_EXTENSION(NV_vertex_program3)
GL_EXTENSION(EXT_texture_compression_dxt1)
GL_EXTENSION(EXT_framebuffer_object)
GL_EXTENSION(GREMEDY_string_marker)
GL_EXTENSION(EXT_packed_depth_stencil)
GL_EXTENSION(EXT_stencil_clear_tag)
GL_EXTENSION(EXT_texture_sRGB)
GL_EXTENSION(EXT_framebuffer_blit)
GL_EXTENSION(EXT_framebuffer_multisample)
GL_EXTENSION(MESAX_texture_stack)
GL_EXTENSION(EXT_timer_query)
GL_EXTENSION(EXT_gpu_program_parameters)
GL_EXTENSION(APPLE_flush_buffer_range)
GL_EXTENSION(NV_gpu_program4)
GL_EXTENSION(NV_geometry_program4)
GL_EXTENSION(EXT_geometry_shader4)
GL_EXTENSION(NV_vertex_program4)
GL_EXTENSION(EXT_gpu_shader4)
GL_EXTENSION(EXT_draw_instanced)
GL_EXTENSION(EXT_packed_float)
GL_EXTENSION(EXT_texture_array)
GL_EXTENSION(EXT_texture_buffer_object)
GL_EXTENSION(EXT_texture_compression_latc)
GL_EXTENSION(EXT_texture_compression_rgtc)
GL_EXTENSION(EXT_texture_shared_exponent)
GL_EXTENSION(NV_depth_buffer_float)
GL_EXTENSION(NV_fragment_program4)
GL_EXTENSION(NV_framebuffer_multisample_coverage)
GL_EXTENSION(EXT_framebuffer_sRGB)
GL_EXTENSION(NV_geometry_shader4)
GL_EXTENSION(NV_parameter_buffer_object)
GL_EXTENSION(EXT_draw_buffers2)
GL_EXTENSION(NV_transform_feedback)
GL_EXTENSION(EXT_bindable_uniform)
GL_EXTENSION(EXT_texture_integer)
GL_EXTENSION(GREMEDY_frame_terminator)
GL_EXTENSION(NV_conditional_render)
GL_EXTENSION(NV_present_video)
GL_EXTENSION(EXT_transform_feedback)
GL_EXTENSION(EXT_direct_state_access)
GL_EXTENSION(EXT_vertex_array_bgra)
GL_EXTENSION(EXT_texture_swizzle)
GL_EXTENSION(NV_explicit_multisample)
GL_EXTENSION(NV_transform_feedback2)
GL_EXTENSION(ATI_meminfo)
GL_EXTENSION(AMD_performance_monitor)
GL_EXTENSION(AMD_texture_texture4)
GL_EXTENSION(AMD_vertex_shader_tessellator)
GL_EXTENSION(EXT_provoking_vertex)
GL_EXTENSION(EXT_texture_snorm)
GL_EXTENSION(AMD_draw_buffers_blend)
GL_EXTENSION(APPLE_texture_range)
GL_EXTENSION(APPLE_float_pixels)
GL_EXTENSION(APPLE_vertex_program_evaluators)
GL_EXTENSION(APPLE_aux_depth_stencil)
GL_EXTENSION(APPLE_object_purgeable)
GL_EXTENSION(APPLE_row_bytes)
GL_EXTENSION(APPLE_rgb_422)
GL_EXTENSION(NV_video_capture)
GL_EXTENSION(EXT_swap_control)
GL_EXTENSION(NV_copy_image)
GL_EXTENSION(EXT_separate_shader_objects)
GL_EXTENSION(NV_parameter_buffer_object2)
GL_EXTENSION(NV_shader_buffer_load)
GL_EXTENSION(NV_vertex_buffer_unified_memory)
GL_EXTENSION(NV_texture_barrier)
GL_EXTENSION(AMD_shader_stencil_export)
GL_EXTENSION(AMD_seamless_cubemap_per_texture)
GL_EXTENSION(AMD_conservative_depth)
GL_EXTENSION(EXT_shader_image_load_store)
GL_EXTENSION(EXT_vertex_attrib_64bit)
GL_EXTENSION(NV_gpu_program5)
GL_EXTENSION(NV_gpu_shader5)
GL_EXTENSION(NV_shader_buffer_store)
GL_EXTENSION(NV_tessellation_program5)
GL_EXTENSION(NV_vertex_attrib_integer_64bit)
GL_EXTENSION(NV_multisample_coverage)
GL_EXTENSION(AMD_name_gen_delete)
GL_EXTENSION(AMD_debug_output)
GL_EXTENSION(NV_vdpau_interop)
GL_EXTENSION(AMD_transform_feedback3_lines_triangles)
GL_EXTENSION(AMD_depth_clamp_separate)
GL_EXTENSION(EXT_texture_sRGB_decode)
GL_EXTENSION(NV_texture_multisample)
GL_EXTENSION(AMD_blend_minmax_factor)
GL_EXTENSION(AMD_sample_positions)
GL_EXTENSION(EXT_x11_sync_object)
GL_EXTENSION(AMD_multi_draw_indirect)
GL_EXTENSION(EXT_framebuffer_multisample_blit_scaled)
GL_EXTENSION(NV_path_rendering)
GL_EXTENSION(AMD_pinned_memory)
GL_EXTENSION(AMD_stencil_operation_extended)
GL_EXTENSION(AMD_vertex_shader_viewport_index)
GL_EXTENSION(AMD_vertex_shader_layer)
GL_EXTENSION(NV_bindless_texture)
GL_EXTENSION(NV_shader_atomic_float)
GL_EXTENSION(AMD_query_buffer_object)
GL_EXTENSION(NV_compute_program5)
GL_EXTENSION(NV_shader_storage_buffer_object)
GL_EXTENSION(NV_shader_atomic_counters)
GL_EXTENSION(NV_deep_texture3D)
GL_EXTENSION(NVX_conditional_render)
GL_EXTENSION(AMD_sparse_texture)
GL_EXTENSION(AMD_shader_trinary_minmax)
GL_EXTENSION(INTEL_map_texture)
GL_EXTENSION(NV_draw_texture)
GL_EXTENSION(AMD_interleaved_elements)
GL_EXTENSION(NV_bindless_multi_draw_indirect)
GL_EXTENSION(NV_blend_equation_advanced)
GL_EXTENSION(NV_blend_equation_advanced_coherent)
GL_EXTENSION(NV_gpu_program5_mem_extended)
GL_EXTENSION(AMD_shader_atomic_counter_ops)
GL_EXTENSION(EXT_shader_integer_mix)
GL_EXTENSION(NVX_gpu_memory_info)
GL_EXTENSION(EXT_debug_label)
GL_EXTENSION(EXT_debug_marker)
GL_EXTENSION(INTEL_fragment_shader_ordering)
GL_EXTENSION(AMD_occlusion_query_event)
GL_EXTENSION(INTEL_performance_query)
GL_EXTENSION(AMD_shader_stencil_value_export)
GL_EXTENSION(NV_shader_thread_group)
GL_EXTENSION(NV_shader_thread_shuffle)
GL_EXTENSION(EXT_shader_image_load_formatted)
GL_EXTENSION(AMD_transform_feedback4)
GL_EXTENSION(AMD_gpu_shader_int64)
GL_EXTENSION(EXT_glx_stereo_tree)
GL_EXTENSION(AMD_gcn_shader)
GL_EXTENSION(ARB_ES3_1_compatibility)
GL_EXTENSION(ARB_clip_control)
GL_EXTENSION(ARB_conditional_render_inverted)
GL_EXTENSION(ARB_cull_distance)
GL_EXTENSION(ARB_derivative_control)
GL_EXTENSION(ARB_direct_state_access)
GL_EXTENSION(ARB_get_texture_sub_image)
GL_EXTENSION(ARB_pipeline_statistics_query)
GL_EXTENSION(ARB_shader_texture_image_samples)
GL_EXTENSION(ARB_sparse_buffer)
GL_EXTENSION(ARB_texture_barrier)
GL_EXTENSION(ARB_transform_feedback_overflow_query)
GL_EXTENSION(KHR_context_flush_control)
GL_EXTENSION(KHR_robust_buffer_access_behavior)
GL_EXTENSION(KHR_robustness)
GL_EXTENSION(NV_bindless_multi_draw_indirect_count)
GL_EXTENSION(NV_shader_atomic_int64)
GL_EXTENSION(NV_internalformat_sample_query)
GL_EXTENSION(NV_viewport_array2)
//GL_EXTENSION(WGL_ARB_create_context_no_error)
//GL_EXTENSION(GLX_ARB_create_context_no_error)
//GL_EXTENSION(GLX_EXT_no_config_context)
//GL_EXTENSION(GLX_MESA_swap_control)
GL_EXTENSION(ARB_gl_spirv)
GL_EXTENSION(ARB_polygon_offset_clamp)
GL_EXTENSION(ARB_spirv_extensions)
GL_EXTENSION(ARB_texture_filter_anisotropic)
GL_EXTENSION(KHR_parallel_shader_compile)
GL_EXTENSION(AMD_framebuffer_sample_positions)
GL_EXTENSION(AMD_gpu_shader_int16)
GL_EXTENSION(AMD_shader_gpu_shader_half_float_fetch)
GL_EXTENSION(AMD_shader_image_load_store_lod)
GL_EXTENSION(AMD_texture_gather_bias_lod)
GL_EXTENSION(EXT_EGL_image_storage)
GL_EXTENSION(EXT_external_buffer)
GL_EXTENSION(EXT_memory_object)
GL_EXTENSION(EXT_memory_object_fd)
GL_EXTENSION(EXT_memory_object_win32)
GL_EXTENSION(EXT_semaphore)
GL_EXTENSION(EXT_semaphore_fd)
GL_EXTENSION(EXT_semaphore_win32)
GL_EXTENSION(EXT_shader_framebuffer_fetch)
GL_EXTENSION(EXT_shader_framebuffer_fetch_non_coherent)
GL_EXTENSION(EXT_win32_keyed_mutex)
GL_EXTENSION(INTEL_blackhole_render)
GL_EXTENSION(MESA_program_binary_formats)
GL_EXTENSION(MESA_shader_integer_functions)
GL_EXTENSION(MESA_tile_raster_order)
GL_EXTENSION(NVX_blend_equation_advanced_multi_draw_buffers)
GL_EXTENSION(NVX_linked_gpu_multicast)
GL_EXTENSION(NV_alpha_to_coverage_dither_control)
GL_EXTENSION(NV_blend_minmax_factor)
GL_EXTENSION(NV_conservative_raster_pre_snap)
GL_EXTENSION(NV_conservative_raster_underestimation)
GL_EXTENSION(NV_draw_vulkan_image)
GL_EXTENSION(NV_gpu_multicast)
GL_EXTENSION(NV_query_resource)
GL_EXTENSION(NV_query_resource_tag)
GL_EXTENSION(NV_texture_rectangle_compressed)
GL_EXTENSION(ARB_ES3_2_compatibility)
GL_EXTENSION(ARB_fragment_shader_interlock)
GL_EXTENSION(ARB_gpu_shader_int64)
GL_EXTENSION(ARB_parallel_shader_compile)
GL_EXTENSION(ARB_post_depth_coverage)
GL_EXTENSION(ARB_sample_locations)
GL_EXTENSION(ARB_shader_atomic_counter_ops)
GL_EXTENSION(ARB_shader_ballot)
GL_EXTENSION(ARB_shader_clock)
GL_EXTENSION(ARB_shader_viewport_layer_array)
GL_EXTENSION(ARB_sparse_texture_clamp)
GL_EXTENSION(ARB_texture_filter_minmax)
GL_EXTENSION(NV_clip_space_w_scaling)
GL_EXTENSION(NV_command_list)
GL_EXTENSION(NV_conservative_raster_dilate)
GL_EXTENSION(NV_shader_atomic_float64)
GL_EXTENSION(NV_stereo_view_rendering)
GL_EXTENSION(NV_uniform_buffer_unified_memory)

// ---------------------------------------------------------------------------------
// OpenGL|ES Extensions
// ---------------------------------------------------------------------------------

GL_EXTENSION(OES_blend_equation_separate)
GL_EXTENSION(OES_blend_func_separate)
GL_EXTENSION(OES_blend_subtract)
GL_EXTENSION(OES_compressed_ETC1_RGB8_texture)
GL_EXTENSION(OES_draw_texture)
GL_EXTENSION(OES_extended_matrix_palette)
GL_EXTENSION(OES_framebuffer_object)
GL_EXTENSION(OES_matrix_get)
GL_EXTENSION(OES_matrix_palette)
GL_EXTENSION(OES_point_size_array)
GL_EXTENSION(OES_point_sprite)
GL_EXTENSION(OES_stencil_wrap)
GL_EXTENSION(OES_texture_cube_map)
GL_EXTENSION(OES_texture_env_crossbar)
GL_EXTENSION(OES_texture_mirrored_repeat)
GL_EXTENSION(OES_EGL_image)
GL_EXTENSION(OES_depth24)
GL_EXTENSION(OES_depth32)
GL_EXTENSION(OES_element_index_uint)
GL_EXTENSION(OES_fbo_render_mipmap)
GL_EXTENSION(OES_fragment_precision_high)
GL_EXTENSION(OES_mapbuffer)
GL_EXTENSION(OES_rgb8_rgba8)
GL_EXTENSION(OES_stencil1)
GL_EXTENSION(OES_stencil4)
GL_EXTENSION(OES_stencil8)
GL_EXTENSION(OES_texture_3D)
GL_EXTENSION(OES_texture_float_linear)
GL_EXTENSION(OES_texture_half_float_linear)
GL_EXTENSION(OES_texture_float)
GL_EXTENSION(OES_texture_half_float)
GL_EXTENSION(OES_texture_npot)
GL_EXTENSION(OES_vertex_half_float)
GL_EXTENSION(AMD_compressed_3DC_texture)
GL_EXTENSION(AMD_compressed_ATC_texture)
GL_EXTENSION(EXT_texture_type_2_10_10_10_REV)
GL_EXTENSION(OES_depth_texture)
GL_EXTENSION(OES_packed_depth_stencil)
GL_EXTENSION(OES_standard_derivatives)
GL_EXTENSION(OES_vertex_type_10_10_10_2)
GL_EXTENSION(OES_get_program_binary)
GL_EXTENSION(AMD_program_binary_Z400)
GL_EXTENSION(EXT_texture_format_BGRA8888)
GL_EXTENSION(IMG_read_format)
GL_EXTENSION(IMG_texture_compression_pvrtc)
GL_EXTENSION(QCOM_driver_control)
GL_EXTENSION(QCOM_performance_monitor_global_mode)
GL_EXTENSION(IMG_user_clip_plane)
GL_EXTENSION(IMG_texture_env_enhanced_fixed_function)
GL_EXTENSION(APPLE_texture_2D_limited_npot)
GL_EXTENSION(QCOM_writeonly_rendering)
GL_EXTENSION(QCOM_extended_get)
GL_EXTENSION(QCOM_extended_get2)
GL_EXTENSION(EXT_discard_framebuffer)
GL_EXTENSION(EXT_read_format_bgra)
GL_EXTENSION(IMG_program_binary)
GL_EXTENSION(IMG_shader_binary)
GL_EXTENSION(QCOM_tiled_rendering)
GL_EXTENSION(OES_vertex_array_object)
GL_EXTENSION(NV_coverage_sample)
GL_EXTENSION(NV_depth_nonlinear)
GL_EXTENSION(IMG_multisampled_render_to_texture)
GL_EXTENSION(OES_EGL_sync)
GL_EXTENSION(EXT_shader_texture_lod)
GL_EXTENSION(APPLE_framebuffer_multisample)
GL_EXTENSION(APPLE_texture_format_BGRA8888)
GL_EXTENSION(APPLE_texture_max_level)
GL_EXTENSION(ARM_mali_shader_binary)
GL_EXTENSION(ARM_rgba8)
GL_EXTENSION(ANGLE_framebuffer_blit)
GL_EXTENSION(ANGLE_framebuffer_multisample)
GL_EXTENSION(VIV_shader_binary)
GL_EXTENSION(EXT_frag_depth)
GL_EXTENSION(OES_EGL_image_external)
GL_EXTENSION(DMP_shader_binary)
GL_EXTENSION(QCOM_alpha_test)
GL_EXTENSION(EXT_unpack_subimage)
GL_EXTENSION(NV_draw_buffers)
GL_EXTENSION(NV_fbo_color_attachments)
GL_EXTENSION(NV_read_buffer)
GL_EXTENSION(NV_read_depth_stencil)
GL_EXTENSION(NV_texture_compression_s3tc_update)
GL_EXTENSION(NV_texture_npot_2D_mipmap)
GL_EXTENSION(EXT_color_buffer_half_float)
GL_EXTENSION(EXT_occlusion_query_boolean)
GL_EXTENSION(EXT_shadow_samplers)
GL_EXTENSION(EXT_texture_rg)
GL_EXTENSION(NV_EGL_stream_consumer_external)
GL_EXTENSION(EXT_sRGB)
GL_EXTENSION(EXT_multisampled_render_to_texture)
GL_EXTENSION(EXT_robustness)
GL_EXTENSION(EXT_texture_storage)
GL_EXTENSION(ANGLE_instanced_arrays)
GL_EXTENSION(ANGLE_pack_reverse_row_order)
GL_EXTENSION(ANGLE_texture_compression_dxt1)
GL_EXTENSION(ANGLE_texture_compression_dxt3)
GL_EXTENSION(ANGLE_texture_compression_dxt5)
GL_EXTENSION(ANGLE_texture_usage)
GL_EXTENSION(ANGLE_translated_shader_source)
GL_EXTENSION(FJ_shader_binary_GCCSO)
GL_EXTENSION(OES_required_internalformat)
GL_EXTENSION(OES_surfaceless_context)
GL_EXTENSION(QCOM_binning_control)
GL_EXTENSION(ARM_mali_program_binary)
GL_EXTENSION(EXT_map_buffer_range)
GL_EXTENSION(APPLE_copy_texture_levels)
GL_EXTENSION(APPLE_sync)
GL_EXTENSION(EXT_multiview_draw_buffers)
GL_EXTENSION(NV_packed_float)
GL_EXTENSION(NV_texture_compression_s3tc)
GL_EXTENSION(NV_3dvision_settings)
GL_EXTENSION(NV_texture_compression_latc)
GL_EXTENSION(NV_platform_binary)
GL_EXTENSION(NV_pack_subimage)
GL_EXTENSION(NV_texture_array)
GL_EXTENSION(NV_pixel_buffer_object)
GL_EXTENSION(NV_bgr)
GL_EXTENSION(OES_depth_texture_cube_map)
GL_EXTENSION(EXT_color_buffer_float)
GL_EXTENSION(ANGLE_depth_texture)
GL_EXTENSION(ANGLE_program_binary)
GL_EXTENSION(IMG_texture_compression_pvrtc2)
GL_EXTENSION(NV_draw_instanced)
GL_EXTENSION(NV_framebuffer_blit)
GL_EXTENSION(NV_framebuffer_multisample)
GL_EXTENSION(NV_generate_mipmap_sRGB)
GL_EXTENSION(NV_instanced_arrays)
GL_EXTENSION(NV_shadow_samplers_array)
GL_EXTENSION(NV_shadow_samplers_cube)
GL_EXTENSION(NV_sRGB_formats)
GL_EXTENSION(NV_texture_border_clamp)
GL_EXTENSION(EXT_disjoint_timer_query)
GL_EXTENSION(EXT_draw_buffers)
GL_EXTENSION(EXT_sRGB_write_control)
GL_EXTENSION(EXT_pvrtc_sRGB)
GL_EXTENSION(EXT_instanced_arrays)
GL_EXTENSION(NV_copy_buffer)
GL_EXTENSION(NV_explicit_attrib_location)
GL_EXTENSION(NV_non_square_matrices)
GL_EXTENSION(OES_texture_compression_astc)
GL_EXTENSION(ARM_shader_framebuffer_fetch)
GL_EXTENSION(ARM_shader_framebuffer_fetch_depth_stencil)
GL_EXTENSION(EXT_shader_pixel_local_storage)
GL_EXTENSION(KHR_blend_equation_advanced)
GL_EXTENSION(KHR_blend_equation_advanced_coherent)
GL_EXTENSION(OES_sample_shading)
GL_EXTENSION(OES_sample_variables)
GL_EXTENSION(OES_shader_image_atomic)
GL_EXTENSION(OES_shader_multisample_interpolation)
GL_EXTENSION(OES_texture_stencil8)
GL_EXTENSION(OES_texture_storage_multisample_2d_array)
GL_EXTENSION(EXT_copy_image)
GL_EXTENSION(EXT_draw_buffers_indexed)
GL_EXTENSION(EXT_geometry_shader)
GL_EXTENSION(EXT_geometry_point_size)
GL_EXTENSION(EXT_gpu_shader5)
GL_EXTENSION(EXT_shader_implicit_conversions)
GL_EXTENSION(EXT_shader_io_blocks)
GL_EXTENSION(EXT_tessellation_shader)
GL_EXTENSION(EXT_tessellation_point_size)
GL_EXTENSION(EXT_texture_border_clamp)
GL_EXTENSION(EXT_texture_buffer)
GL_EXTENSION(EXT_texture_cube_map_array)
GL_EXTENSION(EXT_texture_view)
GL_EXTENSION(EXT_primitive_bounding_box)
GL_EXTENSION(ANDROID_extension_pack_es31a)
GL_EXTENSION(EXT_compressed_ETC1_RGB8_sub_texture)
//GLX_ARB_context_flush_control
//WGL_ARB_context_flush_control
GL_EXTENSION(DMP_program_binary)
GL_EXTENSION(APPLE_clip_distance)
GL_EXTENSION(APPLE_color_buffer_packed_float)
GL_EXTENSION(APPLE_texture_packed_float)
GL_EXTENSION(NV_image_formats)
GL_EXTENSION(NV_shader_noperspective_interpolation)
GL_EXTENSION(NV_viewport_array)
GL_EXTENSION(EXT_base_instance)
GL_EXTENSION(EXT_draw_elements_base_vertex)
GL_EXTENSION(EXT_multi_draw_indirect)
GL_EXTENSION(EXT_render_snorm)
GL_EXTENSION(EXT_texture_norm16)
GL_EXTENSION(OES_copy_image)
GL_EXTENSION(OES_draw_buffers_indexed)
GL_EXTENSION(OES_geometry_shader)
GL_EXTENSION(OES_gpu_shader5)
GL_EXTENSION(OES_primitive_bounding_box)
GL_EXTENSION(OES_shader_io_blocks)
GL_EXTENSION(OES_tessellation_shader)
GL_EXTENSION(OES_texture_border_clamp)
GL_EXTENSION(OES_texture_buffer)
GL_EXTENSION(OES_texture_cube_map_array)
GL_EXTENSION(OES_texture_view)
GL_EXTENSION(OES_draw_elements_base_vertex)
GL_EXTENSION(OES_EGL_image_external_essl3)
GL_EXTENSION(EXT_texture_sRGB_R8)
GL_EXTENSION(EXT_YUV_target)
GL_EXTENSION(EXT_texture_sRGB_RG8)
GL_EXTENSION(EXT_float_blend)
GL_EXTENSION(EXT_post_depth_coverage)
GL_EXTENSION(EXT_raster_multisample)
GL_EXTENSION(EXT_texture_filter_minmax)
GL_EXTENSION(NV_conservative_raster)
GL_EXTENSION(NV_fragment_coverage_to_color)
GL_EXTENSION(NV_fragment_shader_interlock)
GL_EXTENSION(NV_framebuffer_mixed_samples)
GL_EXTENSION(NV_fill_rectangle)
GL_EXTENSION(NV_geometry_shader_passthrough)
GL_EXTENSION(NV_path_rendering_shared_edge)
GL_EXTENSION(NV_sample_locations)
GL_EXTENSION(NV_sample_mask_override_coverage)
GL_EXTENSION(NV_polygon_mode)
GL_EXTENSION(EXT_buffer_storage)
GL_EXTENSION(EXT_sparse_texture)
GL_EXTENSION(OVR_multiview)
GL_EXTENSION(OVR_multiview2)
GL_EXTENSION(KHR_no_error)
GL_EXTENSION(INTEL_framebuffer_CMAA)
GL_EXTENSION(EXT_blend_func_extended)
GL_EXTENSION(EXT_multisample_compatibility)
GL_EXTENSION(KHR_texture_compression_astc_sliced_3d)
GL_EXTENSION(OVR_multiview_multisampled_render_to_texture)
GL_EXTENSION(IMG_texture_filter_cubic)
GL_EXTENSION(EXT_polygon_offset_clamp)
GL_EXTENSION(EXT_shader_pixel_local_storage2)
GL_EXTENSION(EXT_shader_group_vote)
GL_EXTENSION(IMG_framebuffer_downsample)
GL_EXTENSION(EXT_protected_textures)
GL_EXTENSION(EXT_clip_cull_distance)
GL_EXTENSION(NV_viewport_swizzle)
GL_EXTENSION(EXT_sparse_texture2)
GL_EXTENSION(NV_shader_atomic_fp16_vector)
GL_EXTENSION(NV_conservative_raster_pre_snap_triangles)
GL_EXTENSION(EXT_window_rectangles)
GL_EXTENSION(EXT_shader_non_constant_global_initializers)
GL_EXTENSION(INTEL_conservative_rasterization)
GL_EXTENSION(OES_viewport_array)
GL_EXTENSION(EXT_conservative_depth)
GL_EXTENSION(EXT_clear_texture)
GL_EXTENSION(IMG_bindless_texture)
GL_EXTENSION(QCOM_framebuffer_foveated)
GL_EXTENSION(EXT_multisampled_render_to_texture2)
GL_EXTENSION(EXT_texture_compression_astc_decode_mode)
GL_EXTENSION(EXT_texture_compression_astc_decode_mode_rgb9e5)
GL_EXTENSION(EXT_texture_compression_bptc)
GL_EXTENSION(EXT_texture_compression_s3tc_srgb)
GL_EXTENSION(EXT_clip_control)
GL_EXTENSION(EXT_texture_mirror_clamp_to_edge)
GL_EXTENSION(QCOM_texture_foveated)
GL_EXTENSION(EXT_EGL_image_external_wrap_modes)
GL_EXTENSION(EXT_texture_format_sRGB_override)

#endif // GL_EXTENSION
